{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/store/modules/permission.store.ts","webpack:///./src/modules/corsi/store/store.ts","webpack:///./src/modules/giornalisti/components/store/store.ts","webpack:///./src/modules/offertaFormativa/store/store.ts","webpack:///./src/store/index.ts","webpack:///./src/components/InfoFilterBox/index.vue?b5cd","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/store/modules/login.store.ts","webpack:///./src/lang/it.ts","webpack:///./src/lang/index.ts","webpack:///./src/utils/validate.ts","webpack:///./src/layout/components/AppMain.vue?b9a6","webpack:///./src/settings.ts","webpack:///./src/store/modules/app.ts","webpack:///./src/layout/clean.vue?e682","webpack:///./src/layout/mixin/resize.ts","webpack:///./src/layout/clean.ts","webpack:///./src/layout/clean.ts?dc42","webpack:///./src/layout/clean.vue","webpack:///./src/layout/anonymous.vue?cd0f","webpack:///./src/layout/anonymous.ts","webpack:///./src/layout/anonymous.ts?59e0","webpack:///./src/layout/anonymous.vue","webpack:///./src/layout/web.vue?3944","webpack:///./src/layout/components/AppMain.vue?8100","webpack:///./src/layout/components/AppMain.vue?3b1e","webpack:///./src/layout/components/AppMain.vue?1422","webpack:///./src/layout/components/AppMain.vue","webpack:///./src/layout/components/Navbar/navbar.vue?637e","webpack:///./src/components/Breadcrumb/index.vue?cbea","webpack:///./src/components/Breadcrumb/index.ts","webpack:///./src/components/Breadcrumb/index.ts?70d7","webpack:///./src/components/Breadcrumb/index.vue","webpack:///./src/components/Screenfull/index.vue?b513","webpack:///./src/components/Screenfull/index.ts","webpack:///./src/components/Screenfull/index.ts?4269","webpack:///./src/components/Screenfull/index.vue","webpack:///./src/components/SizeSelect/index.vue?ed25","webpack:///./src/components/SizeSelect/index.ts","webpack:///./src/components/SizeSelect/index.ts?8e22","webpack:///./src/components/SizeSelect/index.vue","webpack:///./src/layout/components/Navbar/components/navbar-user-profile.vue?22b0","webpack:///./src/layout/components/Navbar/components/navbar-user-profile.ts","webpack:///./src/layout/components/Navbar/components/navbar-user-profile.ts?b4a1","webpack:///./src/layout/components/Navbar/components/navbar-user-profile.vue","webpack:///./src/layout/components/Navbar/navbar.ts","webpack:///./src/layout/components/Navbar/navbar.ts?a0bd","webpack:///./src/layout/components/Navbar/navbar.vue","webpack:///./src/layout/components/Sidebar/index.vue?68cb","webpack:///./src/layout/components/Sidebar/components/sidebar-item.vue?eff4","webpack:///./src/layout/components/Sidebar/components/sidebar-link.vue?9ff2","webpack:///./src/layout/components/Sidebar/components/sidebar-link.ts","webpack:///./src/layout/components/Sidebar/components/sidebar-link.ts?fcc4","webpack:///./src/layout/components/Sidebar/components/sidebar-link.vue","webpack:///./src/layout/components/Sidebar/components/sidebar-item.ts","webpack:///./src/layout/components/Sidebar/components/sidebar-item.ts?6d26","webpack:///./src/layout/components/Sidebar/components/sidebar-item.vue","webpack:///./src/layout/components/Sidebar/components/sidebar-logo.vue?0f5d","webpack:///./src/layout/components/Sidebar/components/sidebar-logo.ts","webpack:///./src/layout/components/Sidebar/components/sidebar-logo.ts?c5af","webpack:///./src/layout/components/Sidebar/components/sidebar-logo.vue","webpack:///./src/layout/components/Sidebar/index.ts","webpack:///./src/layout/components/Sidebar/index.ts?92a4","webpack:///./src/layout/components/Sidebar/index.vue","webpack:///./src/layout/web.ts","webpack:///./src/layout/web.ts?fed7","webpack:///./src/layout/web.vue","webpack:///./src/router/index.ts","webpack:///./src/filters/index.ts","webpack:///./src/layout/anonymous.vue?b3f3","webpack:///./src/layout/components/Sidebar/index.vue?f072","webpack:///./src/App.vue?7ef5","webpack:///./src/App.ts","webpack:///./src/App.ts?f333","webpack:///./src/App.vue","webpack:///./src/router/permissions.ts","webpack:///./src/components/InfoFilterBox/index.vue?8837","webpack:///./src/components/InfoFilterBox/index.ts","webpack:///./src/components/InfoFilterBox/index.ts?72f0","webpack:///./src/components/InfoFilterBox/index.vue","webpack:///./src/main.ts","webpack:///./src/layout/components/Navbar/navbar.vue?6823","webpack:///./src/modules/account/services/authService.ts","webpack:///./src/layout/web.vue?831c","webpack:///./src/components/Breadcrumb/index.vue?acab","webpack:///./src/layout/clean.vue?5019","webpack:///./src/layout/components/Sidebar/components/sidebar-logo.vue?a6e8","webpack:///./src/services/_base/baseRestService.ts","webpack:///./src/modules/offertaFormativa/services/periodoFormativoService.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","use","hasPermission","claims","route","meta","adempientePeriodoFormativoPrecedente","state","userInfo","adempienteTriennioPrecedente","some","role","includes","filterAsyncRoutes","routes","res","forEach","children","permissionStore","PREFIX","namespaced","dynamicRoutes","getters","mutations","concat","actions","context","roles","accessedRoutes","commit","corsiStore","query","search","stato","pofId","referenteId","enteId","deontologico","gratuito","continuativo","virtuale","orderField","orderDescending","page","take","model","corsiApertiStore","ammesso","cancellato","frequentato","periodiFormativiStore","list","current","inProroga","filter","f","element","find","vueStore","Store","app","store","map","webpackContext","req","id","webpackContextResolve","keys","loginStore","giornalista","creditimaturati","warninglabel","corsi","creditispeciali","dashboard","anagrafica","enti","utenti","ruoli","offertaFormativa","login","title","logIn","register","username","password","capsTooltip","recoverPassword","required","passwordPattern","addCredential","passwordPlaceholder","confirmPasswordPlaceholder","send","backToLogin","success","successRedirect","confirmPassword","confirmPasswordMatch","changeCredential","warningMessage","defaultPasswordPlaceholder","newPasswordPlaceholder","defaultPassword","newPassword","blacklist","infoMessage","alertMessage","emailConfirm","validationInProgress","userName","nome","cognome","email","phoneNumber","confirm","cancel","welcome","successRedirectTitle","successRedirectBtn","successRedirectWhenLockoutEnabled","successRedirectWhenLockoutEnabledBtn","userNameRequired","userNameExsist","emailRequired","emailPattern","emailExsist","info","noResetPasswordForInternalUser","noUserFound","usernameRequired","resetPassword","changePassword","oldPassword","oldPasswordPlaceholder","profile","note","tabChangeAttributes","tabChangeCredential","tabCrediti","firstName","lastName","navbar","logOut","github","theme","size","creditiSpeciali","stati","proposto","approvato","rifiutato","tipi","autoformazione","docenza","dialog","check","searchLabel","noResults","corso","inCompilazione","pubblicato","inErogazione","sospeso","annullato","obsoleto","chiuso","tabs","programma","relatori","moduli","rilevatori","titolo","categoriaAutocomplete","numeroMinimoPartecipanti","numeroMassimoPartecipanti","creditiDisponibili","costo","referente","referenteAziendale","autocompleteReferente","corsoAziendale","autocomplete","dataPlaceholder","insertFailed","argomento","nuovoArgomento","users","accountLabel","createUserTitle","createUserLogin","createUserLoginTip","createUserEmail","createUserPhone","createUserFiscalCode","userExistsTitle","userExistsBody","updateUserButton","removeUserButton","giornalisti","abilitato","rinuncia","pensionato","deceduto","categorie","professionita","pubblicista","speciale","categoria","PRO","PUB","PUB_ABI","PRA","PRA_PUB","SPE","STRA","timeline","text","user","ipAddress","operation","action","date","types","unclassified","warning","exception","sort","byText","byUser","byType","table","loading","emptyText","emptyFilter","tipo","cts","cnog","crog","etf","azienda","errorPage","back","401","description","404","ANAGRAFICA_ENTI","__groupTitle","canCreateAziende","canCreateCROG","canCreateETF","canDeleteAziende","canDeleteCROG","canDeleteETF","canEditAziende","canEditCROG","canEditETF","viewAziende","viewCNOG","viewCROG","viewCTS","viewETF","canRemoveFromBlacklist","canExportGiornalistiODG","canExportGiornalistiODGRegionale","ANAGRAFICA_GIORNALISTI","canAddEsenzioni","canAddEsenzioniMassiva","canShowDetail","viewAll","viewAllDates","viewOrg","CORSO","canClone","canCreate","canDelete","canEdit","setReferente","setUpReporterAsSpeaker","viewMine","viewOnlyRilevatore","forcedImportPartecipanti","canSetStato","CREDSPECIALI","canValutare","GIORNALISTI","corsiAperti","iMieiCorsi","corsiOnline","viewCorsiInAnagrafica","viewCreditiSpecialiInAnagrafica","viewPeriodoFormativoInCorsiEffettuati","GROUPS","canaddusers","cancreate","candelete","canedit","canremoveusers","canseeothergroups","enabled","OFFERTA_FORMATIVA","PF","corrente","POF","CREDITI_GIORNALISTA","ricalcolaAdempienzaGiornalista","ricalcolaAdempienzePeriodoFormativo","TIMELINE","USERS","canAssignGiornalista","RICHIESTE_SPECIALI","esenzioni","anni30daPrimaIscrizione","pensione","periodoFormativo","prorogato","languageKey","getLanguage","messages","it","getLocale","cookieLanguage","documentElement","lang","language","navigator","toLowerCase","locales","locale","indexOf","i18n","isExternal","path","test","validatePassword","str","isValid","digit","lowercase","uppercase","special","validateItalianFiscalCode","textval","reg","settings","baseUrl","connectAuthorizeMoodleUrl","authSettings","clientId","scopes","endpoint","refreshTokenInterval","appSetting","allowedAncestorOrigins","obiettivoFormativo","default","totale","deontologici","numeroPartecipanti","min","max","dataFineIscrizioni","quantitaGiorni","maxDurata","webinar","quantitaOre","prelazioneOrdineRegionale","intervalloDiPrelazioneInOre","tipoFormazione","Autoformazione","Docenza","assenzePerIngresso","durataInGiorni","richiesteSpeciali","loadSettings","response","a","assign","PRODUCTION","sizeKey","getSize","setSize","set","DeviceType","appStore","sidebar","opened","withoutAnimation","device","Desktop","render","_vm","this","_c","_self","_setupProxy","staticClass","class","classObj","embeddedIframe","attrs","staticRenderFns","WIDTH","Mobile","CloseSideBar","addEventListener","resizeHandler","isMobile","ToggleDevice","removeEventListener","rect","body","getBoundingClientRect","width","hidden","hideSidebar","openSidebar","$route","location","parent","component","mobile","on","handleClickOutside","_e","toggleSideBar","$t","_l","item","index","redirect","breadcrumbs","_v","_s","$event","preventDefault","handleLink","startsWith","getBreadcrumb","matched","first","isDashboard","breadcrumb","trim","toLocaleLowerCase","$router","catch","warn","click","sf","isFullscreen","isEnabled","change","off","$message","toggle","handleSetSize","slot","label","sizeOptions","$ELEMENT","SetSize","refreshView","fullPath","$nextTick","reload","currentUser","staticStyle","nativeOn","logout","arguments","authService","Logout","ToggleSideBar","components","Breadcrumb","Screenfull","SizeSelect","NavbarUserProfile","isCollapse","activeMenu","hasOneShowingChild","onlyOneChild","noShowingChildren","alwaysShow","ref","resolvePath","icon","child","isNest","_b","linkProps","to","_t","showingChildren","routePath","basePath","routePathWithoutParameter","split","SidebarLink","collapse","permission","SidebarItem","SidebarLogo","AppMain","Navbar","Sidebar","constantRoutes","props","permissionRoutes","createRouter","scrollBehavior","from","savedPosition","x","y","base","router","formatTime","option","localTime","time","Date","getTime","format","parseInt","utc","formatValue","suffix","prefix","String","Math","abs","Number","toFixed","v","substr","replace","uppercaseFirstChar","charAt","toUpperCase","stripHTML","html","elem","innerHTML","textContent","innerText","configure","showSpinner","loadPermissionRouteClaims","whiteList","beforeEach","_","next","start","isAuthenticated","GetAccessToken","WhoAmI","GetClaims","periodoFormativoService","List","done","getMatchedComponents","allRoutes","flat","generateRoutes","addRoute","afterEach","getPageTitle","baseTitle","visible","config","productionTip","mixin","methods","filters","CheckLoginFromExternalProvider","h","$mount","setInterval","AutoRenewToken","AuthServices","super","OnError","OnHeadersPreparing","headers","sessionStorage","getItem","authData","URLSearchParams","append","origin","Post","setAuthenticationToken","removeItem","obj","deleteAuthenticationToken","token","getAuthenticationToken","RefreshToken","refreshData","refresh_token","http","post","status","expires_in","expiration_date","JSON","parse","localStorage","setItem","stringify","_token","setMyUserInfo","setClaims","Get","provider","params","returnUrl","open","CacheStategy","baseRestService","allwaysSendAuthenticationToken","saveToSessionStorage","setArraySerializationMethod","interceptors","reqConfig","method","paramsSerializer","arrayFormat","uri","sendAuthenticationToken","cacheStrategy","None","prepareHeaders","responseType","NetworkFirst","transformResponse","resp","toDate","put","delete","auth","json","access_token","CacheFirst","reISO","reMsAjax","exec","b","PeriodoFormativoService","periodiFormativi","setList","setCurrent","Delete","Put","nuovoCorrenteId","vecchioCorrenteId"],"mappings":"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","file":"js/app.fda518b7.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/\" + ({\"401\":\"401\",\"404\":\"404\",\"addCredential\":\"addCredential\",\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~logs~profile~user\":\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~logs~profile~user\",\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~profile~user\":\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~profile~user\",\"anagrafica~dashboard~giornalisti-corsi~profile~user\":\"anagrafica~dashboard~giornalisti-corsi~profile~user\",\"anagrafica~dashboard~profile~user\":\"anagrafica~dashboard~profile~user\",\"anagrafica\":\"anagrafica\",\"dashboard\":\"dashboard\",\"profile\":\"profile\",\"user\":\"user\",\"giornalisti-corsi\":\"giornalisti-corsi\",\"changeCredential\":\"changeCredential\",\"corsi~logs\":\"corsi~logs\",\"corsi\":\"corsi\",\"creditiSpeciali\":\"creditiSpeciali\",\"login\":\"login\",\"logs\":\"logs\",\"emailConfirm\":\"emailConfirm\",\"enti-aziende\":\"enti-aziende\",\"enti-crog\":\"enti-crog\",\"periodo-formativo\":\"periodo-formativo\",\"pof\":\"pof\",\"recoverPassword\":\"recoverPassword\",\"resetPassword\":\"resetPassword\",\"roles\":\"roles\"}[chunkId]||chunkId) + \".\" + {\"401\":\"c4868368\",\"404\":\"b6a3e25b\",\"addCredential\":\"01bf37c6\",\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~logs~profile~user\":\"2df89e34\",\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~profile~user\":\"7202388d\",\"anagrafica~dashboard~giornalisti-corsi~profile~user\":\"0c1093e7\",\"anagrafica~dashboard~profile~user\":\"619c7556\",\"anagrafica\":\"5799e86c\",\"dashboard\":\"a9c12e81\",\"profile\":\"b2df9c38\",\"user\":\"2a2c6d21\",\"giornalisti-corsi\":\"487f3848\",\"changeCredential\":\"5bce7478\",\"corsi~logs\":\"3b22a09b\",\"corsi\":\"b44252e0\",\"creditiSpeciali\":\"3e07b911\",\"login\":\"e3fb59ba\",\"logs\":\"e0fd8ccb\",\"emailConfirm\":\"094bf4e4\",\"enti-aziende\":\"c7de1417\",\"enti-crog\":\"b69f1c3b\",\"periodo-formativo\":\"ba96b3d8\",\"pof\":\"9a03c807\",\"recoverPassword\":\"693e9251\",\"resetPassword\":\"dbf9edd6\",\"roles\":\"4a2a9b3b\",\"chunk-2d216214\":\"1f54003d\",\"chunk-2d216257\":\"58872a85\",\"chunk-b515000c\":\"6cf88520\"}[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 = {\"401\":1,\"404\":1,\"anagrafica~dashboard~profile~user\":1,\"anagrafica\":1,\"dashboard\":1,\"profile\":1,\"user\":1,\"giornalisti-corsi\":1,\"changeCredential\":1,\"corsi~logs\":1,\"corsi\":1,\"creditiSpeciali\":1,\"login\":1,\"logs\":1,\"enti-aziende\":1,\"enti-crog\":1,\"periodo-formativo\":1,\"pof\":1,\"roles\":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/\" + ({\"401\":\"401\",\"404\":\"404\",\"addCredential\":\"addCredential\",\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~logs~profile~user\":\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~logs~profile~user\",\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~profile~user\":\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~profile~user\",\"anagrafica~dashboard~giornalisti-corsi~profile~user\":\"anagrafica~dashboard~giornalisti-corsi~profile~user\",\"anagrafica~dashboard~profile~user\":\"anagrafica~dashboard~profile~user\",\"anagrafica\":\"anagrafica\",\"dashboard\":\"dashboard\",\"profile\":\"profile\",\"user\":\"user\",\"giornalisti-corsi\":\"giornalisti-corsi\",\"changeCredential\":\"changeCredential\",\"corsi~logs\":\"corsi~logs\",\"corsi\":\"corsi\",\"creditiSpeciali\":\"creditiSpeciali\",\"login\":\"login\",\"logs\":\"logs\",\"emailConfirm\":\"emailConfirm\",\"enti-aziende\":\"enti-aziende\",\"enti-crog\":\"enti-crog\",\"periodo-formativo\":\"periodo-formativo\",\"pof\":\"pof\",\"recoverPassword\":\"recoverPassword\",\"resetPassword\":\"resetPassword\",\"roles\":\"roles\"}[chunkId]||chunkId) + \".\" + {\"401\":\"b41d49d8\",\"404\":\"7912554c\",\"addCredential\":\"31d6cfe0\",\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~logs~profile~user\":\"31d6cfe0\",\"anagrafica~changeCredential~corsi~creditiSpeciali~dashboard~giornalisti-corsi~login~profile~user\":\"31d6cfe0\",\"anagrafica~dashboard~giornalisti-corsi~profile~user\":\"31d6cfe0\",\"anagrafica~dashboard~profile~user\":\"c63324ed\",\"anagrafica\":\"eab5c735\",\"dashboard\":\"36e989c3\",\"profile\":\"6df9f7bd\",\"user\":\"6c65e96e\",\"giornalisti-corsi\":\"bc54bea6\",\"changeCredential\":\"3576d8d8\",\"corsi~logs\":\"683acc27\",\"corsi\":\"80a58c9b\",\"creditiSpeciali\":\"74b18db3\",\"login\":\"58dd6ff2\",\"logs\":\"f5a08a52\",\"emailConfirm\":\"31d6cfe0\",\"enti-aziende\":\"2d83f141\",\"enti-crog\":\"3b5ae64a\",\"periodo-formativo\":\"be3c666a\",\"pof\":\"8e735022\",\"recoverPassword\":\"31d6cfe0\",\"resetPassword\":\"31d6cfe0\",\"roles\":\"1858fcd9\",\"chunk-2d216214\":\"31d6cfe0\",\"chunk-2d216257\":\"31d6cfe0\",\"chunk-b515000c\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport { ActionTree, GetterTree } from \"vuex\";\nimport { RouteConfig } from \"vue-router\";\n\nimport { permissionRoutes, constantRoutes } from '@/router';\nimport { loginStore } from \"./login.store\";\n\nVue.use(Vuex);\nconst hasPermission = (claims: string[], route: RouteConfig) => {\n if (route.meta && route.meta.claims && route.meta.claims.length > 0) {\n if (route.meta.adempientePeriodoFormativoPrecedente === null \n || route.meta.adempientePeriodoFormativoPrecedente === undefined\n || !loginStore.state.userInfo) {\n return claims.some(role => route.meta.claims.includes(role));\n }\n \n if (route.meta.adempientePeriodoFormativoPrecedente !== loginStore.state.userInfo?.adempienteTriennioPrecedente)\n return false;\n return claims.some(role => route.meta.claims.includes(role));\n } else {\n return true;\n }\n};\n\nexport const filterAsyncRoutes = (routes: RouteConfig[], claims: string[]) => {\n const res: RouteConfig[] = [];\n routes.forEach(route => {\n const r = { ...route };\n if (hasPermission(claims, r)) {\n if (r.children) {\n r.children = filterAsyncRoutes(r.children, claims);\n }\n res.push(r);\n }\n });\n return res;\n};\n\nexport interface PermissionStoreActions {\n generateRoutes(claims: string[]);\n}\nexport interface PermissionStoreGetters {\n routes: () => RouteConfig[];\n dynamicRoutes: () => RouteConfig[];\n}\nexport interface PermissionStoreModel {\n routes: RouteConfig[];\n dynamicRoutes: RouteConfig[];\n}\n\nexport const permissionStore = {\n PREFIX: \"permission\",\n namespaced: true,\n state: {\n routes: [],\n dynamicRoutes: []\n } as PermissionStoreModel,\n getters: {\n routes: (state: PermissionStoreModel) => (): RouteConfig[] => state.routes,\n dynamicRoutes: (state: PermissionStoreModel) => (): RouteConfig[] => state.dynamicRoutes\n } as GetterTree,\n mutations: {\n SET_ROUTES(state: PermissionStoreModel, routes: RouteConfig[]) {\n state.routes = constantRoutes().concat(routes);\n state.dynamicRoutes = routes;\n }\n },\n actions: {\n generateRoutes(context, roles: string[]) {\n const accessedRoutes = filterAsyncRoutes(permissionRoutes(), roles);\n context.commit('SET_ROUTES', accessedRoutes);\n }\n } as ActionTree,\n};\n\n\n\n","import { clear } from \"console\";\nimport { stat } from \"fs\";\n\nexport interface ICorsiState {\n query: corso.queryParams\n}\n\nexport interface ICorsiActions {\n setQuery(model: corso.queryParams);\n clear();\n}\n\nexport interface ICorsiGetters {\n}\n\nexport const corsiStore = {\n PREFIX: \"corsi\",\n namespaced: true,\n state: {\n query: {\n search: null,\n stato: null,\n pofId: null,\n referenteId: null,\n enteId: null,\n deontologico: null,\n gratuito: null,\n continuativo: null,\n virtuale: null,\n orderField: 'Data',\n orderDescending: true,\n page: 1,\n take: 20\n } as corso.queryParams\n },\n mutations: {\n SET_QUERY(state : ICorsiState, model: corso.queryParams){\n state.query = model;\n },\n CLEAR(state: ICorsiState){\n state.query = {\n search: null,\n stato: null,\n pofId: null,\n referenteId: null,\n enteId: null,\n deontologico: null,\n gratuito: null,\n continuativo: null,\n virtuale: null,\n orderField: 'Data',\n orderDescending: true,\n page: 1,\n take: 20\n } as corso.queryParams\n }\n },\n actions: {\n setQuery({ commit }, model: corso.queryParams) {\n commit(\"SET_QUERY\", model)\n },\n clear({ commit }){\n commit(\"CLEAR\")\n }\n }\n}\n","export interface ICorsiApertiState {\n query: giornalista.corso.queryParams\n}\n\nexport interface ICorsiApertiActions {\n setQuery(model: giornalista.corso.queryParams);\n clear();\n}\n\nexport interface ICorsiApertiGetters {\n}\n\nexport const corsiApertiStore = {\n PREFIX: \"corsiAperti\",\n namespaced: true,\n state: {\n query: {\n search: null,\n referenteId: null,\n enteId: null,\n deontologico: null,\n gratuito: null,\n continuativo: null,\n virtuale: null,\n ammesso: null,\n cancellato: null,\n frequentato: null,\n orderField: 'Data',\n orderDescending: true,\n page: 1,\n take: 20\n } as giornalista.corso.queryParams\n },\n mutations: {\n SET_QUERY(state : ICorsiApertiState, model: giornalista.corso.queryParams){\n state.query = model;\n },\n CLEAR(state: ICorsiApertiState){\n state.query = {\n search: null,\n stato: null,\n pofId: null,\n referenteId: null,\n enteId: null,\n deontologico: null,\n gratuito: null,\n continuativo: null,\n virtuale: null,\n orderField: 'Data',\n orderDescending: true,\n page: 1,\n take: 20\n } as giornalista.corso.queryParams\n }\n },\n actions: {\n setQuery({ commit }, model: giornalista.corso.queryParams) {\n commit(\"SET_QUERY\", model)\n },\n clear({ commit }){\n commit(\"CLEAR\")\n }\n }\n}\n","import { stat } from \"fs\";\nimport { GetterTree } from \"vuex\";\n\nexport interface IPeriodiFormativiState {\n list: periodoFormativo.item[];\n current: periodoFormativo.item;\n}\n\nexport interface IPeriodiFormativiActions {\n setList(periodiFormativi: periodoFormativo.item[]);\n setCurrent(periodoFormativo: periodoFormativo.item);\n}\n\nexport interface IPeriodiFormativiGetters {\n list: () => periodoFormativo.item[]\n current: () => periodoFormativo.item;\n}\n\nexport const periodiFormativiStore = {\n PREFIX: \"periodiFormativi\",\n namespaced: true,\n state: {\n list: [],\n current: null,\n } as IPeriodiFormativiState,\n getters: {\n list: (state: IPeriodiFormativiState) => (): periodoFormativo.item[] => state.list,\n current: (state: IPeriodiFormativiState) => (): periodoFormativo.item => state.current,\n inProroga: (state: IPeriodiFormativiState) => (): periodoFormativo.item[] => state.list.filter(f => f.stato === 'prorogato'),\n },\n mutations: {\n SET_CURRENT(state: IPeriodiFormativiState, model: periodoFormativo.item) {\n state.current = model;\n },\n SET_LIST(state: IPeriodiFormativiState, model: periodoFormativo.item[]) {\n state.list.splice(0)\n for (const element of model) {\n state.list.push(element);\n }\n }\n },\n actions: {\n setCurrent({ commit }, model: periodoFormativo.item) {\n commit(\"SET_CURRENT\", model)\n },\n setList({ commit }, model: periodoFormativo.item[]) {\n commit(\"SET_LIST\", model);\n if (model.length > 0 && model.find(f => f.stato === 'corrente')) {\n commit(\"SET_CURRENT\", model.find(f => f.stato === 'corrente'));\n }\n }\n }\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport { appStore, IAppState, IAppStoreActions, IAppStoreGetters } from \"./modules/app\";\nimport { loginStore, LoginStoreActions, LoginStoreGetters, LoginStoreModel } from \"./modules/login.store\";\nimport { permissionStore, PermissionStoreActions, PermissionStoreGetters, PermissionStoreModel } from './modules/permission.store';\nimport { corsiStore, ICorsiActions, ICorsiState } from \"@/modules/corsi/store/store\";\nimport { corsiApertiStore, ICorsiApertiActions, ICorsiApertiState } from \"@/modules/giornalisti/components/store/store\";\n\nimport { CreateTypedStoreProxy } from \"vuex-typed-store\";\nimport { IPeriodiFormativiActions, IPeriodiFormativiGetters, IPeriodiFormativiState, periodiFormativiStore } from '@/modules/offertaFormativa/store/store';\n\nVue.use(Vuex)\n\nexport interface IRootState {\n app: IAppState,\n login: LoginStoreModel,\n permission: PermissionStoreModel,\n corsi: ICorsiState,\n corsiAperti: ICorsiApertiState,\n periodiFormativi: IPeriodiFormativiState,\n}\n\nexport interface IRootActions {\n app: IAppStoreActions,\n login: LoginStoreActions,\n permission: PermissionStoreActions, \n corsi: ICorsiActions,\n corsiAperti: ICorsiApertiActions,\n periodiFormativi: IPeriodiFormativiActions,\n}\n\nexport interface IRootGetters {\n app: IAppStoreGetters\n login: LoginStoreGetters\n permission: PermissionStoreGetters,\n periodiFormativi: IPeriodiFormativiGetters,\n}\n\n// Declare empty store first, dynamically register all modules later.\nexport const vueStore = new Vuex.Store({\n modules: {\n [appStore.PREFIX]: appStore,\n [loginStore.PREFIX]: loginStore,\n [permissionStore.PREFIX]: permissionStore,\n [corsiStore.PREFIX]: corsiStore,\n [corsiApertiStore.PREFIX]: corsiApertiStore,\n [periodiFormativiStore.PREFIX]: periodiFormativiStore,\n }\n})\n\nexport const store = CreateTypedStoreProxy<\n IRootState,\n IRootActions,\n IRootGetters\n>(vueStore);\n\n\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=39dc215d&prod&lang=less&scoped=true\"","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-ps\": \"4c98\",\n\t\"./ar-ps.js\": \"4c98\",\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-kmr\": \"7558\",\n\t\"./ku-kmr.js\": \"7558\",\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 { ActionTree, GetterTree } from \"vuex\";\nimport Vuex from \"vuex\";\nimport Vue from \"vue\";\nVue.use(Vuex);\n\nexport interface LoginStoreActions {\n setMyUserInfo(model: user.whoAmI);\n setClaims(model: string[]);\n}\nexport interface LoginStoreGetters {\n userInfo: () => user.whoAmI\n hasPermission: (id) => boolean\n}\nexport interface LoginStoreModel {\n userInfo: user.whoAmI,\n claims: string[]\n}\n\nexport const loginStore = {\n PREFIX: \"login\",\n namespaced: true,\n state: {\n userInfo: null,\n claims: [],\n } as LoginStoreModel,\n getters: {\n userInfo: (state: LoginStoreModel) => (): user.whoAmI => state.userInfo,\n hasPermission: (state: LoginStoreModel) => (id): boolean => !!state.claims.find(c => c == id)\n } as GetterTree,\n mutations: {\n SET_MyUserInfo(state: LoginStoreModel, model: user.whoAmI) {\n state.userInfo = model;\n },\n SET_CLAIMS(state: LoginStoreModel, model: string[]) {\n state.claims = model;\n }\n },\n actions: {\n setMyUserInfo({ commit }, model: user.whoAmI) {\n commit(\"SET_MyUserInfo\", model)\n },\n setClaims({ commit }, model: string[]) {\n commit(\"SET_CLAIMS\", model)\n }\n } as ActionTree,\n};\n\n\n\n","export default {\n giornalista: {\n creditimaturati: { warninglabel: \"Il processo di allineamento dei dati ĆØ in corso. Nei prossimi giorni i crediti risulteranno aggiornati.\" },\n corsi: { warninglabel: \"Il processo di allineamento dei dati ĆØ in corso. Nei prossimi giorni i corsi risulteranno aggiornati.\" },\n creditispeciali: { warninglabel: \"I crediti speciali sono gia conteggiati nei crediti maturati. Viene riportato il dettaglio dei soli Crediti Speciali maturati a partire dall'anno 2022.\" }\n },\n route: {\n dashboard: 'Dashboard',\n corsi: 'Corsi',\n anagrafica: 'Anagrafica',\n enti: 'Enti',\n utenti: 'Utenti',\n ruoli: 'Ruoli',\n offertaFormativa: 'Offerta Formativa'\n },\n login: {\n title: `Accesso all'account`,\n logIn: `Accedi`,\n register: `Registrati`,\n username: `Codice fiscale`,\n password: `Password`,\n capsTooltip: `Blocco maiuscolo attivo`,\n recoverPassword: `Hai dimenticato la password?`,\n // error: `Tentativo di accesso non valido.

Gentile utente, se non hai ancora confermato l'account, cerca nella posta elettronica una email con l'oggetto \"ODG Formazione Professionale Continua - Conferma l'account\"\n // e segui le istruzioni che trovi al suo interno.

In caso contrario, compila il modulo inserendo le stesse credenziali che hai usato per registrare l'account la prima volta.
\n //
Non hai ricevuto nessuna email ?
Controlla le FAQ nel portale del supporto per risolvere il problema. SUPPORTO `,\n error: `
\n

Nome utente o password non corretti

\n

Si ricorda che per l'accesso come giornalista il nome utente risulta essere il proprio codice fiscale.

\n

Hai dimenticato la password? Clicca qui

\n
`,\n required: {\n passwordPattern: `La password deve essere di almeno 8 caratteri contenenti almeno una lettera minuscola, almeno una lettera maiuscola, almeno un valore numerico, almeno un carattere tra i seguenti #$^/+=_!*()@%&-`,\n username: `il campo Username ĆØ obbligatorio`,\n password: `il campo Password ĆØ obbligatorio`\n }\n },\n addCredential: {\n title: `Aggiunge credenziali di accesso`,\n passwordPlaceholder: `Inserisci la nuova password`,\n confirmPasswordPlaceholder: `Ripeti la nuova password`,\n send: `Imposta la password`,\n backToLogin: `Torna al pannello di accesso`,\n success: `La password ĆØ stata cambiata con successo`,\n successRedirect: `Accedi al servizio utilizzando le nuove credenziali impostate`,\n error: `Si ĆØ verificato un errore nel cambio password dell'account`,\n required: {\n passwordPattern: `La password deve essere di almeno 8 caratteri contenenti almeno una lettera minuscola, almeno una lettera maiuscola, almeno un valore numerico, almeno un carattere tra i seguenti #$^/+=_!*()@%&-`,\n password: `il campo Password ĆØ obbligatorio`,\n confirmPassword: `Conferma la nuova password`,\n confirmPasswordMatch: `Le due password non corrispondono`,\n }\n },\n changeCredential: {\n title: `Cambia credenziali di accesso`,\n warningMessage: `La password utilizzata ĆØ quella fornita dall'amministrazione. E' necessario cambiare la password impostando una nuova password personale. Al cambio password l'utente verrĆ  riportato alla pagina di login in modo da poter accedere con le nuove credenziali.`,\n defaultPasswordPlaceholder: `Inserisci la password di default`,\n newPasswordPlaceholder: `Inserisci la nuova password`,\n confirmPasswordPlaceholder: `Ripeti la nuova password`,\n send: `Cambia la password`,\n backToLogin: `Torna al pannello di accesso`,\n success: `La password ĆØ stata cambiata con successo`,\n successRedirect: `Accedi al servizio utilizzando le nuove credenziali impostate`,\n error: `Si ĆØ verificato un errore nel cambio password dell'account`,\n required: {\n passwordPattern: `La password deve essere di almeno 8 caratteri contenenti almeno una lettera minuscola, almeno una lettera maiuscola, almeno un valore numerico, almeno un carattere tra i seguenti #$^/+=_!*()@%&-`,\n defaultPassword: `il campo 'Passord di default' ĆØ obbligatorio`,\n newPassword: `il campo 'Nuova password' ĆØ obbligatorio`,\n confirmPassword: `Conferma la nuova password`,\n confirmPasswordMatch: `Le due password non corrispondono`,\n }\n },\n blacklist: {\n title: `Assenze ingiustificate`,\n infoMessage: `Le assenze ingiustificate vengono conteggiate ai fini dell'inserimento in black list.
L'inserimento in black list fa sƬ che non si potranno piu prenotare corsi di aggiornamento per un periodo di 90 giorni dalla data di conferma della terza assenza, inoltre nel medesimo periodo saranno cancellate le eventuali iscrizioni giĆ  prenotate`,\n warningMessage: `Attenzione! Alla conferma della terza assenza ingiustificata si verrĆ  inseriti in black list e non si potranno piĆ¹ prenotare corsi di aggiornamento per un periodo di 90 giorni dalla data di conferma della terza assenza`,\n alertMessage: `Attenzione! Il giornalista {giornalista} ĆØ in black list. Non sarĆ  possibile prenotare corsi di aggiornamento fino al {data}`,\n required: {\n passwordPattern: `La password deve essere di almeno 8 caratteri contenenti almeno una lettera minuscola, almeno una lettera maiuscola, almeno un valore numerico, almeno un carattere tra i seguenti #$^/+=_!*()@%&-`,\n defaultPassword: `il campo 'Passord di default' ĆØ obbligatorio`,\n newPassword: `il campo 'Nuova password' ĆØ obbligatorio`,\n confirmPassword: `Conferma la nuova password`,\n confirmPasswordMatch: `Le due password non corrispondono`,\n }\n },\n emailConfirm: {\n title: `Conferma indirizzo E-Mail`,\n validationInProgress: `Validazione in corso...`,\n success: `L'account associato alla e-mail ĆØ stato confermato con successo.`,\n error: `Si ĆØ verificato un problema con l'attivazione dell'account`,\n backToLogin: `Torna al pannello di accesso`,\n },\n register: {\n title: `Completa la registrazione per accedere alla formazione`,\n userName: `Codice Fiscale`,\n nome: `Nome`,\n cognome: `Cognome`,\n password: `Password`,\n email: `E-Mail`,\n phoneNumber: `Numero di telefono`,\n passwordPlaceholder: `Inserisci la nuova password`,\n confirmPasswordPlaceholder: `Ripeti la nuova password`,\n confirm: `Registrati`,\n cancel: `Annulla`,\n welcome: `Benvenuto, {value}`,\n success: `{value} la registrazione del tuo account ĆØ avvenuto con successo.
Ti abbiamo inviato una mail per verificare il tuo account.
Devi confermare il link che trovi nella mail che ti abbiamo inviato.
ATTENZIONE: il link scade dopo 24 ore!
Conferma la tua email prima che scada!`,\n successRedirectTitle: `Account registrato con successo`,\n successRedirect: `Accedi all'area privata!`,\n successRedirectBtn: `Vai alla Dashboard`,\n successRedirectWhenLockoutEnabled: `Il tuo account non ĆØ ancora attivo. Attendi l'e-mail di avvenuta attivazione per poter accedere.`,\n successRedirectWhenLockoutEnabledBtn: `Torna alla Home`,\n error: `Si ĆØ verificato un errore nella registrazione del tuo account`,\n required: {\n userName: `il campo Codice Fiscale ĆØ obbligatorio`,\n userNameRequired: `Inserisci un valore nel campo Codice Fiscale`,\n userNameExsist: `E' giĆ  presente un utente con questo Codice Fiscale, se non ricordi la password segui la procedura di recupero password.`,\n email: `il campo E-Mail ĆØ obbligatorio`,\n emailRequired: `Inserisci un valore nel campo E-mail`,\n emailPattern: `l'indirizzo E-Mail inserito non ĆØ valido`,\n emailExsist: `E' giĆ  presente un utente con questa Email`,\n nome: `il campo Nome ĆØ obbligatorio`,\n cognome: `il campo Cognome ĆØ obbligatorio`,\n passwordPattern: `La password deve essere di almeno 8 caratteri contenenti almeno una lettera minuscola, almeno una lettera maiuscola, almeno un valore numerico, almeno un carattere tra i seguenti #$^/+=_!*()@%&-`,\n password: `il campo Password ĆØ obbligatorio`,\n confirmPassword: `Conferma la nuova password`,\n confirmPasswordMatch: `Le due password non corrispondono`,\n }\n },\n recoverPassword: {\n title: `Recupera password di accesso`,\n info: `Hai dimenticato la password del tuo account o hai problemi ad accedere al tuo account? Inserisci il tuo nome utente o il tuo codice fiscale e ti invieremo un link per il recupero.`,\n username: `Username o Codice Fiscale`,\n send: `Invia E-Mail di recupero`,\n backToLogin: `Torna al pannello di accesso`,\n noResetPasswordForInternalUser: `Non ĆØ possibile richiedere il reset password per l'utente interno. Contattare l'amministratore`,\n noUserFound: `Non ĆØ presente un account registrato con questa Nome utente`,\n success: `Richiesta di recupero password inoltrata con successo`,\n successRedirect: `Controlla la tua e-mail e concludi la procedura di recupero password.`,\n error: `Si ĆØ verificato un errore nella richiesta di recupero password`,\n required: {\n username: `il campo Username o Codice Fiscale ĆØ obbligatorio`,\n usernameRequired: `Inserisci un valore nel campo Username o Codice Fiscale`\n }\n },\n resetPassword: {\n title: `Reset password`,\n passwordPlaceholder: `Inserisci la nuova password`,\n confirmPasswordPlaceholder: `Ripeti la nuova password`,\n send: `Resetta la password`,\n backToLogin: `Torna al pannello di accesso`,\n success: `La password ĆØ stata cambiata con successo`,\n successRedirect: `Accedi al servizio utilizzando le nuove credenziali impostate`,\n error: `Si ĆØ verificato un errore nel cambio password dell'account`,\n required: {\n passwordPattern: `La password deve essere di almeno 8 caratteri contenenti almeno una lettera minuscola, almeno una lettera maiuscola, almeno un valore numerico, almeno un carattere tra i seguenti #$^/+=_!*()@%&-`,\n password: `il campo Password ĆØ obbligatorio`,\n confirmPassword: `Conferma la nuova password`,\n confirmPasswordMatch: `Le due password non corrispondono`,\n }\n },\n changePassword: {\n title: `Cambia password`,\n warningMessage: `Al cambio password, l'utente verrĆ  riportato alla pagina di login in modo da poter accedere con le nuove credenziali`,\n oldPassword: `Vecchia password`,\n newPassword: `Nuova password`,\n confirmPassword: `Conferma password`,\n oldPasswordPlaceholder: `Inserisci la vecchia password`,\n newPasswordPlaceholder: `Inserisci la nuova password`,\n confirmPasswordPlaceholder: `Ripeti la nuova password`,\n confirm: `Cambia la password`,\n success: `La password ĆØ stata cambiata con successo`,\n successRedirect: `Accedi al servizio utilizzando le nuove credenziali impostate`,\n error: `Si ĆØ verificato un errore nel cambio password dell'account`,\n required: {\n password: `il campo Password ĆØ obbligatorio`,\n passwordPattern: `La password deve essere di almeno 8 caratteri contenenti almeno una lettera minuscola, almeno una lettera maiuscola, almeno un valore numerico, almeno un carattere tra i seguenti #$^/+=_!*()@%&-`,\n newPassword: `il campo 'Nuova password' ĆØ obbligatorio`,\n confirmPassword: `Conferma la nuova password`,\n confirmPasswordMatch: `Le due password non corrispondono`,\n }\n },\n profile: {\n title: 'Profilo utente',\n userName: `Username`,\n nome: `Nome`,\n cognome: `Cognome`,\n email: `E-Mail`,\n phoneNumber: `Telefono`,\n note: `Note`,\n confirm: `Aggiorna`,\n cancel: `Annulla`,\n tabChangeAttributes: 'Gestisci utente di formazionegiornalisti.it',\n tabChangeCredential: 'Cambia le credenziali di accesso',\n tabCrediti: 'Crediti Maturati',\n success: `Le informazioni del profilo sono state aggiornate con successo`,\n error: `Si ĆØ verificato un errore nell'aggiornamento del profilo`,\n required: {\n firstName: `il campo Nome ĆØ obbligatorio`,\n lastName: `il campo Cognome ĆØ obbligatorio`\n }\n },\n navbar: {\n logOut: 'Esci',\n dashboard: 'Dashboard',\n github: 'Github',\n theme: 'Tema',\n size: 'Grandezza Globale',\n profile: 'Profilo'\n },\n creditiSpeciali: {\n stati: {\n proposto: 'Proposto',\n approvato: 'Approvato',\n rifiutato: 'Rifiutato',\n },\n tipi: {\n autoformazione: 'Autoformazione',\n docenza: 'Docenza',\n },\n dialog: {\n check: {\n title: \"Controlla i Crediti Speciali rimanenti di un/una Giornalista\",\n searchLabel: \"Ricerca un/una giornalista\",\n noResults: \"Nessun dato / in attesa di una ricerca\",\n },\n },\n },\n corso: {\n stati: {\n inCompilazione: 'In Compilazione',\n proposto: 'Proposto',\n approvato: 'Approvato',\n rifiutato: 'Rifiutato',\n pubblicato: 'Pubblicato',\n inErogazione: 'In Erogazione',\n sospeso: 'Sospeso',\n annullato: 'Annullato',\n obsoleto: 'Obsoleto',\n chiuso: 'Chiuso',\n },\n tabs: {\n programma: 'Programma',\n relatori: 'Relatori',\n moduli: 'Moduli',\n rilevatori: 'Rilevatori',\n },\n titolo: 'Titolo',\n programma: 'Programma',\n categoriaAutocomplete: 'Categorie',\n numeroMinimoPartecipanti: 'Numero minimo partecipanti',\n numeroMassimoPartecipanti: 'Numero massimo partecipanti',\n creditiDisponibili: 'Crediti disponibili',\n costo: 'Costo',\n referente: \"Referente\",\n referenteAziendale: \"Referente aziendale\",\n autocompleteReferente: 'Referenti',\n corsoAziendale: 'Corso aziendale',\n autoformazione: 'Autoformazione',\n data: 'Data',\n autocomplete: 'Ricerca',\n dataPlaceholder: 'Scegli una data',\n insertFailed: \"Errore durante l'inserimento\",\n argomento: {\n nuovoArgomento: \"+ nuovo argomento\"\n }\n },\n users: {\n search: 'Cerca',\n accountLabel: 'Account:',\n createUserTitle: 'Inserisci utente',\n createUserLogin: 'Login',\n createUserLoginTip: 'Inserisci Login',\n createUserEmail: 'Email',\n createUserPhone: 'Numero di telefono',\n createUserFiscalCode: 'Codice Fiscale',\n userExistsTitle: 'Attenzione',\n userExistsBody: 'Utente Esistente',\n updateUserButton: 'Aggiorna',\n removeUserButton: 'Elimina',\n },\n anagrafica: {\n giornalisti: {\n stati: {\n abilitato: \"Abilitato/a\",\n rinuncia: \"Ritirato/a\",\n cancellato: \"Cancellato/a\",\n pensionato: \"In pensione\",\n deceduto: \"Deceduto/a\",\n },\n categorie: {\n professionita: \"Professionista\",\n pubblicista: \"Pubblicista\",\n speciale: \"Speciale\",\n },\n categoria: {\n PRO: \"Professionista\",\n PUB: \"Pubblicista\",\n PUB_ABI: \"Pubblicista\",\n PRA: \"Praticante\",\n PRA_PUB: \"Pubblicista\",\n SPE: \"Speciale\",\n STRA: \"Stranieri\"\n }\n },\n },\n timeline: {\n text: `Testo da ricercare`,\n user: `Utente`,\n type: `Tipo`,\n ipAddress: `Indirizzo Ip`,\n operation: `Operazione`,\n message: `Messaggio`,\n action: `Azione`,\n context: `Contesto`,\n username: `Username`,\n date: `Data`,\n types: {\n unclassified: `Non classificato`,\n success: `Successo`,\n warning: `Allerta`,\n error: `Errore`,\n info: `Info`,\n exception: `Eccezione`\n },\n filter: {\n sort: {\n type: `Ordina per Tipo`,\n user: `Ordina per Nome utente`,\n date: `Ordina per Data di Creaizone`\n },\n byText: `Ricerca nel Testo`,\n byUser: `Filtra per Utente`,\n byType: `Filtra per Tipo`\n },\n table: {\n loading: 'Caricamento timeline in corso...',\n emptyText: 'Nessun log trovato',\n emptyFilter: 'Nessun dato corrisponde ai filtri di ricerca impostati',\n }\n },\n enti: {\n tipo: {\n cts: 'Comitato Tecnico Scentifico',\n cnog: 'Consiglio Nazionale Ordine',\n crog: 'Consiglio Regionale Ordine',\n etf: 'Ente Terzo Formatore',\n azienda: 'Azienda'\n }\n },\n errorPage: {\n back: `Torna alla Home`,\n 401: {\n title: `Non sei autorizzato ad accedere`,\n description: `Siamo spiacenti, l'accesso alla pagina richiesta con le sue credenziali ĆØ stato negato.`\n },\n 404: {\n title: `Pagina non trovata`,\n description: `Siamo spiacenti, ma non ĆØ stato possibile trovare la pagina richiesta.`\n }\n },\n claims: {\n ANAGRAFICA_ENTI: {\n __groupTitle: 'Anagrafica Enti, Organi',\n canCreateAziende: 'Aggiunge Azienda',\n canCreateCROG: 'Aggiunge CROG',\n canCreateETF: 'Aggiunge ETF',\n canDeleteAziende: 'Cancella Azienda',\n canDeleteCROG: 'Cancella CROG',\n canDeleteETF: 'Cancella ETF',\n canEditAziende: 'Modifica Azienda',\n canEditCROG: 'Modifica CROG',\n canEditETF: 'Modifica ETF',\n viewAziende: 'Visualizza Aziende',\n viewCNOG: 'Visualizza CNOG',\n viewCROG: 'Visualizza CROG',\n viewCTS: 'Visualizza CTS',\n viewETF: 'Visualizza ETF',\n canRemoveFromBlacklist: \"Rimuove giornalista da blacklist\",\n canExportGiornalistiODG: \"Esporta elenco giornalisti ODG\",\n canExportGiornalistiODGRegionale: \"Esporta elenco giornalisti ODG Regionale\"\n },\n ANAGRAFICA_GIORNALISTI: {\n __groupTitle: 'Anagrafica Giornalisti',\n canAddEsenzioni: 'Aggiunge Esenzione',\n canAddEsenzioniMassiva: 'Aggiungi Esenzioni Massiva',\n canShowDetail: 'Visalizza Dettaglio',\n viewAll: 'Visualizza tutti, non filtrati per categoria',\n viewAllDates: 'Visualizza tutti, non filtrati per date',\n viewOrg: 'Visualizza quelli dell\\'ente di appartenenza',\n },\n CORSO: {\n __groupTitle: 'Gestione Corsi',\n canClone: 'Duplica Corso',\n canCreate: 'Aggiunge Corso',\n canDelete: 'Cancella Corso',\n canEdit: 'Modifica Corso',\n setReferente: 'Imposta Referente',\n setUpReporterAsSpeaker: 'Imposta giornalista come relatore',\n viewAll: 'Visualizza tutti',\n viewOrg: 'Visualizza quelli dell\\'ente di appartenenza',\n viewMine: 'Visualizza quelli dell\\'utente corrente',\n viewOnlyRilevatore: 'Visualizza quelli di cui si ĆØ Rilevatore',\n forcedImportPartecipanti: 'Importa i partecipanti indipendentemente dallo stato del Corso',\n canSetStato: {\n annullato: 'Imposta stato \"annullato\"',\n approvato: 'Imposta stato \"approvato\"',\n chiuso: 'Imposta stato \"chiuso\"',\n inCompilazione: 'Imposta stato \"inCompilazione\"',\n inErogazione: 'Imposta stato \"inErogazione\"',\n obsoleto: 'Imposta stato \"obsoleto\"',\n proposto: 'Imposta stato \"proposto\"',\n pubblicato: 'Imposta stato \"pubblicato\"',\n rifiutato: 'Imposta stato \"rifiutato\"',\n sospeso: 'Imposta stato \"sospeso\"',\n }\n },\n CREDSPECIALI: {\n __groupTitle: 'Gestione Crediti Speciali',\n canCreate: 'Richiesta Crediti Speciali',\n canEdit: 'Modifica Richiesta Crediti Speciali',\n viewAll: 'Mostra tutti i Crediti Speciali',\n viewOrg: 'Mostra i Crediti Speciali nell\\'ambito dell\\'Ente',\n viewMine: 'Visualizzo i miei Crediti Speciali',\n canValutare: 'PuĆ² valutare richiesta di Crediti Speciali',\n canSetStato: {\n proposto: 'Imposta stato \"Proposto\"',\n }\n },\n GIORNALISTI: {\n __groupTitle: 'Corsi Giornalista',\n corsiAperti: 'Visualizza \"Corsi Disponibili\"',\n iMieiCorsi: 'Visualizza \"I Miei Corsi\"',\n corsiOnline: 'Visualizza il link ai \"Corsi Online\"',\n viewCorsiInAnagrafica: `Visualizza \"Tutti i Corsi nell'anagrafica\"`,\n viewCreditiSpecialiInAnagrafica: `Visualizza \"Crediti Speciali nell'anagrafica\"`,\n viewPeriodoFormativoInCorsiEffettuati: `Visualizza il Periodo Formativo nei Corsi Effettuati`\n },\n GROUPS: {\n __groupTitle: 'Gestione Ruoli e Permessi',\n canaddusers: 'Aggiunge utente utente al ruolo',\n cancreate: 'Aggiunge Ruolo',\n candelete: 'Cancella Ruolo',\n canedit: 'Modifica Ruolo',\n canremoveusers: 'Cancella utente associato al ruolo',\n canseeothergroups: 'PuĆ² vedere altri gruppi',\n enabled: 'Visualizza l\\'elenco dei ruoli',\n },\n OFFERTA_FORMATIVA: {\n __groupTitle: 'Gestione Offerta formativa',\n PF: {\n canCreate: 'Aggiunge Periodo Formativo',\n canDelete: 'Cancella Periodo Formativo',\n canEdit: 'Modifica Periodo Formativo',\n enabled: 'Visualizza Periodi Formativi',\n canSetStato: {\n inCompilazione: 'Imposta stato \"inCompilazione\"',\n pubblicato: 'Imposta stato \"pubblicato\"',\n corrente: 'Imposta stato \"corrente\"',\n chiuso: 'Imposta stato \"chiuso\"'\n }\n },\n POF: {\n canCreate: 'Aggiunge Piano Offerta Formativa',\n canDelete: 'Cancella Piano Offerta Formativa',\n canEdit: 'Modifica Piano Offerta Formativa',\n enabled: 'Visualizza Offerte Formative',\n }\n },\n CREDITI_GIORNALISTA: {\n __groupTitle: 'Crediti Giornalista',\n ricalcolaAdempienzaGiornalista: 'Ricalcola adempienza giornalista',\n ricalcolaAdempienzePeriodoFormativo: 'Ricalcola adempienze giornalisti per un periodo formativo'\n },\n TIMELINE: {\n __groupTitle: 'Gestione Timeline operazioni',\n enabled: 'Visualizza la Timeline'\n },\n USERS: {\n __groupTitle: 'Gestione Utenze',\n cancreate: 'Aggiunge Utente',\n candelete: 'Cancella Utente',\n canedit: 'Modifica Utente',\n enabled: 'Visualizza l\\'elenco degli utenti',\n canAssignGiornalista: 'Assegna un anagrafica giornalista',\n viewOrg: 'Visualizza l\\'elenco degli utenti dell\\'ente di appartenenza'\n },\n RICHIESTE_SPECIALI: {\n __groupTitle: 'Richieste Speciali',\n enabled: 'Ha facolta di inviare Richeste Speciali'\n }\n },\n esenzioni: {\n anni30daPrimaIscrizione: `perchĆ© sono decorsi 30 anni dalla prima iscrizione all'albo avvenuta il {dataPrimaIscrizione}. Lista completa delle esenzioni nel tab \"Esenzioni\"`,\n pensione: `perchĆ© la/il giornalista ĆØ in pensione o ha raggiunto i 67 anni di etĆ . Lista completa delle esenzioni nel tab \"Esenzioni\"`\n },\n periodoFormativo: {\n stati: {\n inCompilazione: 'In Compilazione',\n pubblicato: 'Pubblicato',\n corrente: 'Corrente',\n chiuso: 'Chiuso',\n prorogato: 'Prorogato',\n }\n }\n}\n","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\nimport Cookies from 'js-cookie'\n\nconst languageKey = 'language'\nexport const getLanguage = () => Cookies.get(languageKey)\nexport const setLanguage = (language: string) => Cookies.set(languageKey, language)\n\nimport elementItLocale from 'element-ui/lib/locale/lang/it';\n\n// User defined lang\nimport itLocale from './it'\n\nVue.use(VueI18n)\n\nconst messages = {\n\n it: {\n ...itLocale,\n ...elementItLocale\n }\n}\n\nexport const getLocale = () => {\n const cookieLanguage = getLanguage()\n if (cookieLanguage) {\n document.documentElement.lang = cookieLanguage\n return cookieLanguage\n }\n\n const language = navigator.language.toLowerCase()\n const locales = Object.keys(messages)\n for (const locale of locales) {\n if (language.indexOf(locale) > -1) {\n document.documentElement.lang = locale\n return locale\n }\n }\n\n // Default\n return 'it'\n}\n\nconst i18n = new VueI18n({\n locale: getLocale(),\n messages\n})\n\nexport default i18n\n","/**\n * @param {string} path\n * @returns {Boolean}\n */\nexport function isExternal(path) {\n return /^(https?:|mailto:|tel:)/.test(path)\n}\n\nexport function validatePassword(str) {\n // const reg = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[#$^/+=_!*()@%&-]).{6,}$/g;\n // return reg.test(str);\n let isValid: boolean = false;\n let result = {\n length: str.length >= 8,\n digit: /\\d/.test(str),\n lowercase: /[a-z]/.test(str),\n uppercase: /[A-Z]/.test(str),\n special: /[^a-zA-Z0-9]/.test(str),\n };\n\n isValid = result.digit && result.length && result.lowercase && result.special && result.uppercase;\n return isValid;\n}\n\nexport function valdiateEmail(str) {\n const reg = /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\n return reg.test(str);\n}\n\nexport function validateURL(textval) {\n const urlregex = /^(https?|ftp):\\/\\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\\/($|[a-zA-Z0-9.,?'\\\\+&%$#=~_-]+))*$/\n return urlregex.test(textval);\n}\n\nexport function validateItalianFiscalCode(textval) {\n const reg = /^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9A-Za-z]{3}[A-Za-z]{1}$/\n return reg.test(textval);\n}\n\nexport function validateItalianPartitaIvaCode(textval) {\n const reg = /^[0-9]{11}$/;\n return reg.test(textval);\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMain.vue?vue&type=style&index=0&id=591f9521&prod&lang=less&scoped=true\"","import axios from \"axios\";\n\ndeclare const PRODUCTION;\n\ninterface IAuthSettings {\n clientId: string\n scopes: string,\n endpoint: string,\n refreshTokenInterval: number\n}\n\ninterface IAppSettings {\n allowedAncestorOrigins: string[],\n obiettivoFormativo: {\n default: {\n totale: number,\n deontologici: number,\n },\n anni30daPrimaIscrizione: {\n totale: number,\n deontologici: number,\n }\n },\n corsi: {\n numeroPartecipanti: {\n min: number,\n max: number\n },\n maxDurata: {\n webinar: {\n quantitaOre: number\n }\n },\n dataFineIscrizioni: {\n quantitaGiorni: number\n },\n prelazioneOrdineRegionale: {\n intervalloDiPrelazioneInOre: number\n }\n },\n creditiSpeciali: {\n tipoFormazione: Object,\n },\n blacklist:{\n assenzePerIngresso: number\n durataInGiorni: number\n }\n richiesteSpeciali: { title: string, value: string, formKey: string }[]\n}\n\ninterface ISettings {\n baseUrl: string,\n connectAuthorizeMoodleUrl?: string,\n authSettings: IAuthSettings\n appSetting: IAppSettings\n}\n\n// You can customize settings below :)\nconst settings: ISettings = {\n baseUrl: 'https://localhost:5000',\n connectAuthorizeMoodleUrl: \"https://staging-api.formazionegiornalisti.it/connect/authorize?client_id=moodle&response_type=code&redirect_uri=https%3A%2F%2Fmoodleodgtest.odg.it%2Fadmin%2Foauth2callback.php\",\n authSettings: {\n clientId: 'cnog',\n scopes: 'profile email roles offline_access',\n endpoint: 'https://localhost:5000',\n refreshTokenInterval: 5\n },\n appSetting: {\n allowedAncestorOrigins: [],\n obiettivoFormativo: {\n default: {\n totale: 60,\n deontologici: 20,\n },\n anni30daPrimaIscrizione: {\n totale: 20,\n deontologici: 10,\n }\n },\n corsi: {\n numeroPartecipanti: {\n min: 20,\n max: 50\n },\n dataFineIscrizioni: {\n quantitaGiorni: 1\n },\n maxDurata: {\n webinar: {\n quantitaOre: 3\n }\n },\n prelazioneOrdineRegionale: {\n intervalloDiPrelazioneInOre: 48\n }\n },\n creditiSpeciali: {\n tipoFormazione: {\n Autoformazione: 6,\n Docenza: 16\n }\n },\n blacklist: {\n assenzePerIngresso: 3,\n durataInGiorni: 90\n },\n richiesteSpeciali: []\n }\n}\n\n\nexport async function loadSettings() {\n\n let response = null;\n\n try {\n response = await axios.get(\"/settings.custom.json\");\n Object.assign(settings, response.data);\n } catch { }\n\n if (!response)\n try {\n response = await axios.get(\"/settings.json\");\n Object.assign(settings, response.data);\n } catch { }\n\n try {\n if (PRODUCTION !== undefined && PRODUCTION) {\n console.error(\"NO CONFIGURATION FOUND !!\", \"please provide settings.json or settings.custom.json file !\")\n }\n } catch { }\n\n}\n\n\n\nexport default settings\n","\nimport { getLocale } from '@/lang'\nimport Cookies from 'js-cookie'\nconst sizeKey = 'size'\nexport const getSize = () => Cookies.get(sizeKey)\nexport const setSize = (size: string) => Cookies.set(sizeKey, size)\n\nexport enum DeviceType {\n Mobile,\n Desktop,\n}\n\nexport interface IAppState {\n device: DeviceType\n sidebar: {\n opened: boolean\n withoutAnimation: boolean\n }\n language: string\n size: string\n}\n\nexport interface IAppStoreActions {\n ToggleSideBar(withoutAnimation: boolean);\n CloseSideBar(withoutAnimation: boolean);\n ToggleDevice(device: DeviceType);\n SetLanguage(language: string);\n SetSize(size: string);\n}\n\nexport interface IAppStoreGetters {\n\n}\n\n\nexport const appStore = {\n PREFIX: \"app\",\n namespaced: true,\n state: {\n sidebar: {\n opened: true,\n withoutAnimation: false\n },\n\n device: DeviceType.Desktop,\n language: getLocale(),\n size: getSize() || 'default'\n },\n mutations: {\n TOGGLE_SIDEBAR(state: IAppState, withoutAnimation: boolean) {\n state.sidebar.opened = !state.sidebar.opened\n state.sidebar.withoutAnimation = withoutAnimation\n },\n CLOSE_SIDEBAR(state: IAppState, withoutAnimation: boolean) {\n state.sidebar.opened = false\n state.sidebar.withoutAnimation = withoutAnimation\n },\n TOGGLE_DEVICE(state: IAppState, device: DeviceType) {\n state.device = device\n },\n\n SET_LANGUAGE(state: IAppState, language: string) {\n state.language = language\n },\n SET_SIZE(state: IAppState, size: string) {\n state.size = size\n setSize(size);\n }\n },\n actions: {\n ToggleSideBar({ commit }, withoutAnimation: boolean) {\n commit(\"TOGGLE_SIDEBAR\", withoutAnimation)\n },\n CloseSideBar({ commit }, withoutAnimation: boolean) {\n commit(\"CLOSE_SIDEBAR\", withoutAnimation)\n },\n ToggleDevice({ commit }, device: DeviceType) {\n commit(\"TOGGLE_DEVICE\", device)\n },\n SetLanguage({ commit }, language: string) {\n commit(\"SET_LANGUAGE\", language)\n },\n SetSize({ commit }, size: string) {\n commit(\"SET_SIZE\", size);\n }\n }\n}\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"app-wrapper\",class:_vm.classObj},[_c('div',{staticClass:\"main-container\"},[_c('section',{staticClass:\"app-main clean-main\",class:{'embedded-in-iframe': _vm.embeddedIframe}},[_c('transition',{attrs:{\"name\":\"fade-transform\",\"mode\":\"out-in\"}},[_c('router-view',{key:_vm.key})],1)],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from 'vue-property-decorator'\nimport { DeviceType } from '@/store/modules/app'\nimport { store } from '@/store'\n\nconst WIDTH = 992 // refer to Bootstrap's responsive design\n\n@Component({\n name: 'ResizeMixin'\n})\nexport default class extends Vue {\n get device() {\n return store.state.app.device\n }\n\n get sidebar() {\n return store.state.app.sidebar\n }\n\n @Watch('$route')\n private onRouteChange() {\n if (this.device === DeviceType.Mobile && this.sidebar.opened) {\n store.actions.app.CloseSideBar(false)\n }\n }\n\n beforeMount() {\n window.addEventListener('resize', this.resizeHandler)\n }\n\n mounted() {\n const isMobile = this.isMobile()\n if (isMobile) {\n store.actions.app.ToggleDevice(DeviceType.Mobile)\n store.actions.app.CloseSideBar(true)\n }\n }\n\n beforeDestroy() {\n window.removeEventListener('resize', this.resizeHandler)\n }\n\n private isMobile() {\n const rect = document.body.getBoundingClientRect()\n return rect.width - 1 < WIDTH\n }\n\n private resizeHandler() {\n if (!document.hidden) {\n const isMobile = this.isMobile()\n store.actions.app.ToggleDevice(isMobile ? DeviceType.Mobile : DeviceType.Desktop)\n if (isMobile) {\n store.actions.app.CloseSideBar(true)\n }\n }\n }\n}\n","import { mixins } from 'vue-class-component';\nimport { Component } from 'vue-property-decorator';\nimport ResizeMixin from './mixin/resize';\n\n@Component({\n name: 'CleanLayout',\n})\nexport default class extends mixins(ResizeMixin) {\n get classObj() {\n return {\n hideSidebar: true,\n openSidebar: false,\n withoutAnimation: false\n };\n }\n\n get key() {\n return this.$route.path;\n }\n\n get embeddedIframe(): boolean {\n return window.location !== window.parent.location;\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/ts-loader/index.js??ref--13-2!./clean.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!./clean.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./clean.vue?vue&type=template&id=609e071e\"\nimport script from \"./clean.ts?vue&type=script&lang=ts&external\"\nexport * from \"./clean.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./clean.vue?vue&type=style&index=0&id=609e071e&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"app-wrapper\",class:_vm.classObj},[_c('div',{staticClass:\"main-container\"},[_c('section',{staticClass:\"app-main anonymous-main\"},[_c('transition',{attrs:{\"name\":\"fade-transform\",\"mode\":\"out-in\"}},[_c('router-view',{key:_vm.key})],1)],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { mixins } from 'vue-class-component';\nimport { Component } from 'vue-property-decorator';\nimport ResizeMixin from './mixin/resize';\n\n@Component({\n name: 'AnonymousLayout',\n})\nexport default class extends mixins(ResizeMixin) {\n // mounted() {\n // let scriptNode = document.createElement('script')\n // scriptNode.innerText = `\n // (function(d, src, c) { var t=d.scripts[d.scripts.length - 1],s=d.createElement('script');s.id='la_x2s6df8d';s.async=true;s.src=src;s.onload=s.onreadystatechange=function(){var rs=this.readyState;if(rs&&(rs!='complete')&&(rs!='loaded')){return;}c(this);};t.parentElement.insertBefore(s,t.nextSibling);})(document,\n // 'https://teamdev.ladesk.com/scripts/track.js',\n // function(e){ LiveAgent.createKbSearchWidget('iu3o6ugu', e); });\n // `;\n // document.body.prepend(scriptNode)\n // }\n\n get classObj() {\n return {\n hideSidebar: true,\n openSidebar: false,\n withoutAnimation: false\n };\n }\n\n get key() {\n return this.$route.path;\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/ts-loader/index.js??ref--13-2!./anonymous.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!./anonymous.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./anonymous.vue?vue&type=template&id=e6038f5e\"\nimport script from \"./anonymous.ts?vue&type=script&lang=ts&external\"\nexport * from \"./anonymous.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./anonymous.vue?vue&type=style&index=0&id=e6038f5e&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"app-wrapper\",class:_vm.classObj},[(_vm.classObj.mobile && _vm.sidebar.opened)?_c('div',{staticClass:\"drawer-bg\",on:{\"click\":_vm.handleClickOutside}}):_vm._e(),_c('sidebar',{staticClass:\"sidebar-container\"}),_c('div',{staticClass:\"main-container\"},[_c('div',{staticClass:\"fixed-header\"},[_c('navbar')],1),_c('app-main')],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{staticClass:\"app-main\"},[_c('transition',{attrs:{\"name\":\"fade-transform\",\"mode\":\"out-in\"}},[_c('router-view',{key:_vm.key})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n name: 'AppMain'\n})\nexport default class extends Vue {\n get key() {\n return this.$route.path;\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/ts-loader/index.js??ref--13-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMain.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/ts-loader/index.js??ref--13-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMain.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppMain.vue?vue&type=template&id=591f9521&scoped=true\"\nimport script from \"./AppMain.vue?vue&type=script&lang=ts\"\nexport * from \"./AppMain.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppMain.vue?vue&type=style&index=0&id=591f9521&prod&lang=less&scoped=true\"\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 \"591f9521\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"navbar\"},[_c('div',{staticClass:\"left-menu\"},[_c('div',{staticClass:\"toggle-sidebar\",on:{\"click\":_vm.toggleSideBar}},[_c('i',{class:_vm.sidebar.opened ? 'el-icon-s-fold' : 'el-icon-s-unfold'})]),_c('breadcrumb',{staticClass:\"breadcrumb-container\",attrs:{\"id\":\"breadcrumb-container\"}})],1),_c('div',{staticClass:\"right-menu\"},[_c('screenfull',{staticClass:\"right-menu-item hover-effect\"}),_c('el-tooltip',{attrs:{\"content\":_vm.$t('navbar.size'),\"effect\":\"dark\",\"placement\":\"bottom\"}},[_c('size-select',{staticClass:\"right-menu-item hover-effect\"})],1),_c('navbar-user-profile',{staticClass:\"right-menu-item hover-effect\"})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-breadcrumb',{staticClass:\"app-breadcrumb\",attrs:{\"separator\":\"/\"}},[_c('transition-group',{attrs:{\"name\":\"breadcrumb\"}},_vm._l((_vm.breadcrumbs),function(item,index){return _c('el-breadcrumb-item',{key:item.path},[(item.redirect === 'noredirect' || index === _vm.breadcrumbs.length - 1)?_c('span',{staticClass:\"no-redirect\"},[_vm._v(_vm._s(item.meta.title))]):_c('a',{on:{\"click\":function($event){$event.preventDefault();return _vm.handleLink(item)}}},[_vm._v(_vm._s(item.meta.title))])])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { compile } from 'path-to-regexp';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { RouteRecord, Route } from 'vue-router';\n\n@Component({})\nexport default class BreadCrumb extends Vue {\n private breadcrumbs: RouteRecord[] = [];\n\n @Watch('$route')\n private onRouteChange(route: Route) {\n // if you go to the redirect page, do not update the breadcrumbs\n if (route.path.startsWith('/redirect/')) {\n return;\n }\n this.getBreadcrumb();\n }\n\n created() {\n this.getBreadcrumb();\n }\n\n private getBreadcrumb() {\n let matched = this.$route.matched.filter(item => item.meta && item.meta.title);\n const first = matched[0];\n if (!this.isDashboard(first)) {\n matched = [{ path: '/dashboard', meta: { title: 'Home' } } as unknown as RouteRecord].concat(matched);\n }\n this.breadcrumbs = matched.filter(item => {\n return item.meta && item.meta.title && item.meta.breadcrumb !== false;\n });\n }\n\n private isDashboard(route: RouteRecord) {\n const name = route && route.name;\n if (!name) {\n return false;\n }\n return name.trim().toLocaleLowerCase() === 'dashboard'.toLocaleLowerCase();\n }\n\n private handleLink(item: any) {\n const { redirect, path } = item;\n if (redirect) {\n this.$router.push(redirect).catch(err => { });\n return;\n }\n this.$router.push({ path: path }).catch(err => {\n console.warn(err);\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/ts-loader/index.js??ref--13-2!./index.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--13-2!./index.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7f1f0116&scoped=true\"\nimport script from \"./index.ts?vue&type=script&lang=ts&external\"\nexport * from \"./index.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=7f1f0116&prod&lang=less&scoped=true\"\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 \"7f1f0116\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{attrs:{\"id\":\"screenfull\"},on:{\"click\":_vm.click}},[(_vm.isFullscreen)?_c('i',{staticClass:\"fas fa-compress-arrows-alt\"}):_c('i',{staticClass:\"fas fa-expand-arrows-alt\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import screenfull from 'screenfull'\nimport { Component, Vue } from 'vue-property-decorator'\n\nconst sf = screenfull\n\n@Component({\n name: 'Screenfull'\n})\nexport default class extends Vue {\n private isFullscreen = false\n\n mounted() {\n if (sf.isEnabled) {\n sf.on('change', this.change)\n }\n }\n\n beforeDestory() {\n if (sf.isEnabled) {\n sf.off('change', this.change)\n }\n }\n\n private change() {\n if (sf.isEnabled) {\n this.isFullscreen = sf.isFullscreen\n }\n }\n\n private click() {\n if (!sf.isEnabled) {\n this.$message({\n message: 'you browser can not work',\n type: 'warning'\n })\n return false\n }\n sf.toggle()\n }\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--13-2!./index.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--13-2!./index.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=6c5d2d44\"\nimport script from \"./index.ts?vue&type=script&lang=ts&external\"\nexport * from \"./index.ts?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-dropdown',{attrs:{\"id\":\"size-select\",\"trigger\":\"click\"},on:{\"command\":_vm.handleSetSize}},[_c('div',[_c('i',{staticClass:\"fas fa-text-height\"})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},_vm._l((_vm.sizeOptions),function(item){return _c('el-dropdown-item',{key:item.value,attrs:{\"disabled\":_vm.size === item.value,\"command\":item.value}},[_vm._v(\" \"+_vm._s(item.label)+\" \")])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { store } from '@/store'\nimport { Component, Vue } from 'vue-property-decorator'\n\n@Component({\n name: 'SizeSelect'\n})\nexport default class extends Vue {\n private sizeOptions = [\n { label: 'Default', value: 'default' },\n { label: 'Medium', value: 'medium' },\n { label: 'Small', value: 'small' },\n { label: 'Mini', value: 'mini' }\n ]\n\n get size() {\n return store.state.app.size\n }\n\n private handleSetSize(size: string) {\n (this as any).$ELEMENT.size = size\n store.actions.app.SetSize(size)\n this.refreshView()\n this.$message({\n message: 'Switch Size Success',\n type: 'success'\n })\n }\n\n private refreshView() {\n // In order to make the cached page re-rendered\n const { fullPath } = this.$route\n this.$nextTick(() => {\n window.location.reload();\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/ts-loader/index.js??ref--13-2!./index.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--13-2!./index.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=c1fa68c0\"\nimport script from \"./index.ts?vue&type=script&lang=ts&external\"\nexport * from \"./index.ts?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-dropdown',{staticClass:\"avatar-container right-menu-item hover-effect\",attrs:{\"trigger\":\"click\"}},[_c('div',{staticClass:\"avatar-wrapper\"},[_vm._v(\" \"+_vm._s(_vm.currentUser)+\" \"),_c('img',{staticClass:\"user-avatar\",attrs:{\"alt\":\"avatar\",\"src\":\"/assets/avatar.png\"}}),_c('i',{staticClass:\"el-icon-caret-bottom\"})]),_c('el-dropdown-menu',{staticClass:\"el-dropdown-user-menu\",attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('router-link',{attrs:{\"to\":\"/profile/\"}},[_c('el-dropdown-item',[_vm._v(_vm._s(_vm.$t('navbar.profile')))])],1),_c('router-link',{attrs:{\"to\":\"/\"}},[_c('el-dropdown-item',[_vm._v(_vm._s(_vm.$t('navbar.dashboard')))])],1),_c('el-dropdown-item',{staticStyle:{\"margin-top\":\"0px\"},attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.logout.apply(null, arguments)}}},[_c('span',{staticStyle:{\"display\":\"block\"}},[_vm._v(\" \"+_vm._s(_vm.$t('navbar.logOut'))+\" \")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue, Component } from 'vue-property-decorator';\nimport { authService } from '@/modules/account/services/authService';\nimport { store } from '@/store';\n\nimport md5 from 'md5';\n\n@Component({\n name: 'NavbarUserProfile'\n})\nexport default class extends Vue {\n get currentUser() {\n return store.getters.login.userInfo()?.userName;\n }\n\n private async logout() {\n await authService.Logout()\n location.reload();\n // this.$router.push(`/login?redirect=${this.$route.fullPath}`).catch(err => {\n // console.warn(err)\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/ts-loader/index.js??ref--13-2!./navbar-user-profile.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--13-2!./navbar-user-profile.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./navbar-user-profile.vue?vue&type=template&id=17b07e5f\"\nimport script from \"./navbar-user-profile.ts?vue&type=script&lang=ts&external\"\nexport * from \"./navbar-user-profile.ts?vue&type=script&lang=ts&external\"\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 { Component, Vue } from 'vue-property-decorator'\n\nimport Breadcrumb from '@/components/Breadcrumb/index.vue'\nimport Screenfull from '@/components/Screenfull/index.vue'\nimport SizeSelect from '@/components/SizeSelect/index.vue'\n\nimport NavbarUserProfile from './components/navbar-user-profile.vue'\n\nimport { store } from '@/store'\n\n@Component({\n name: 'Navbar',\n components: {\n Breadcrumb,\n Screenfull,\n SizeSelect,\n NavbarUserProfile\n }\n})\nexport default class extends Vue {\n get sidebar() {\n return store.state.app.sidebar\n }\n\n private toggleSideBar() {\n store.actions.app.ToggleSideBar(false)\n }\n}","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!./navbar.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!./navbar.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./navbar.vue?vue&type=template&id=25ffc1fc\"\nimport script from \"./navbar.ts?vue&type=script&lang=ts&external\"\nexport * from \"./navbar.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./navbar.vue?vue&type=style&index=0&id=25ffc1fc&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"sidebar-container\"},[_c('sidebar-logo',{attrs:{\"collapse\":_vm.isCollapse}}),_c('el-scrollbar',{attrs:{\"wrap-class\":\"scrollbar-wrapper\"}},[_c('el-menu',{attrs:{\"default-active\":_vm.activeMenu,\"collapse\":_vm.isCollapse,\"unique-opened\":false,\"collapse-transition\":false,\"background-color\":\"#50aade\",\"text-color\":\"#f6fdff\",\"active-text-color\":\"#f6fdff\",\"mode\":\"vertical\"}},_vm._l((_vm.routes),function(route){return _c('sidebar-item',{key:route.path,attrs:{\"item\":route,\"base-path\":route.path,\"is-collapse\":_vm.isCollapse}})}),1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.item.meta || (_vm.item.meta && !_vm.item.meta.hidden))?_c('div',[(_vm.hasOneShowingChild(_vm.item.children, _vm.item) && (!_vm.onlyOneChild.children || _vm.onlyOneChild.noShowingChildren) && !_vm.item.alwaysShow)?[(_vm.onlyOneChild.meta)?_c('sidebar-link',{attrs:{\"to\":_vm.resolvePath(_vm.onlyOneChild.path)}},[_c('el-menu-item',{class:{ 'submenu-title-noDropdown': !_vm.isNest },attrs:{\"index\":_vm.resolvePath(_vm.onlyOneChild.path)}},[(_vm.onlyOneChild.meta && _vm.onlyOneChild.meta.icon && !_vm.isNest)?_c('i',{staticClass:\"sidebar-icon\",class:_vm.onlyOneChild.meta.icon}):_vm._e(),(_vm.onlyOneChild.meta.title)?_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\" \"+_vm._s(_vm.onlyOneChild.meta.title)+\" \")]):_vm._e()])],1):_vm._e()]:_c('el-submenu',{ref:\"subMenu\",class:{'is-active': _vm.$route.path.startsWith(_vm.item.path) },attrs:{\"index\":_vm.resolvePath(_vm.item.path),\"popper-append-to-body\":\"\"}},[_c('template',{slot:\"title\"},[(_vm.item.meta && _vm.item.meta.icon)?_c('i',{staticClass:\"sidebar-icon\",class:_vm.item.meta.icon}):_vm._e(),(_vm.item.meta && _vm.item.meta.title)?_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\" \"+_vm._s(_vm.item.meta.title)+\" \")]):_vm._e()]),_vm._l((_vm.item.children),function(child){return _c('sidebar-item',{key:child.path,staticClass:\"nest-menu\",attrs:{\"is-nest\":true,\"item\":child,\"base-path\":_vm.resolvePath(child.path)}})})],2)],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_vm.type,_vm._b({tag:\"component\"},'component',_vm.linkProps(_vm.to),false),[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { isExternal } from '@/utils/validate'\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component({\n name: 'SidebarLink'\n})\nexport default class extends Vue {\n @Prop({ required: true })\n to: string;\n \n get isExternal() {\n return isExternal(this.to)\n }\n\n get type() {\n if (this.isExternal) {\n return 'a'\n }\n return 'router-link'\n }\n\n linkProps(to) {\n if (this.isExternal) {\n return {\n href: to,\n target: '_blank',\n rel: 'noopener'\n }\n }\n return {\n to: to\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/ts-loader/index.js??ref--13-2!./sidebar-link.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--13-2!./sidebar-link.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./sidebar-link.vue?vue&type=template&id=6d790146\"\nimport script from \"./sidebar-link.ts?vue&type=script&lang=ts&external\"\nexport * from \"./sidebar-link.ts?vue&type=script&lang=ts&external\"\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 { isExternal } from '@/utils/validate';\nimport path from 'path';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { RouteConfig } from 'vue-router';\n\nimport SidebarLink from './sidebar-link.vue';\n\n@Component({\n // Set 'name' here to prevent uglifyjs from causing recursive component not work\n // See https://medium.com/haiiro-io/element-component-name-with-vue-class-component-f3b435656561 for detail\n name: 'SidebarItem',\n components: {\n SidebarLink\n }\n})\nexport default class extends Vue {\n @Prop({ required: true }) private item!: RouteConfig;\n @Prop({ default: false }) private isNest!: boolean;\n @Prop({ default: '' }) private basePath!: string;\n\n onlyOneChild: RouteConfig = null;\n \n hasOneShowingChild(children = [], parent) {\n const showingChildren = children.filter((item: RouteConfig) => {\n if (item.meta.hidden) {\n return false\n } else {\n // Temp set(will be used if only has one showing child)\n this.onlyOneChild = item\n return true\n }\n })\n // When there is only one child router, the child router is displayed by default\n if (showingChildren.length === 1) {\n return true\n }\n // Show parent if there are no child router to display\n if (showingChildren.length === 0) {\n this.onlyOneChild = { ... parent, path: '', noShowingChildren: true }\n return true\n }\n return false\n }\n\n resolvePath(routePath) {\n if (isExternal(routePath)) {\n return routePath\n }\n if (isExternal(this.basePath)) {\n return this.basePath\n }\n const routePathWithoutParameter = routePath.includes('/:') ? routePath.split('/:')[0] : routePath;\n return path.resolve(this.basePath, routePathWithoutParameter);\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/ts-loader/index.js??ref--13-2!./sidebar-item.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--13-2!./sidebar-item.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./sidebar-item.vue?vue&type=template&id=16438e72\"\nimport script from \"./sidebar-item.ts?vue&type=script&lang=ts&external\"\nexport * from \"./sidebar-item.ts?vue&type=script&lang=ts&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"sidebar-logo-container\",class:{ collapse: _vm.collapse }},[_c('transition',{attrs:{\"name\":\"sidebarLogoFade\"}},[(_vm.collapse)?_c('router-link',{key:\"collapse\",staticClass:\"sidebar-logo-link\",attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"sidebar-logo\",attrs:{\"alt\":\"Sidebar logo collapse\",\"src\":\"/assets/sidebar-logo-collapse.png\"}})]):_c('router-link',{key:\"expand\",staticClass:\"sidebar-logo-link\",attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"sidebar-logo\",attrs:{\"alt\":\"sidebar logo\",\"src\":\"/assets/sidebar-logo.png\"}})])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component({\n name: 'SidebarLogo'\n})\nexport default class extends Vue {\n @Prop({ required: true }) private collapse!: boolean;\n}","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--13-2!./sidebar-logo.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--13-2!./sidebar-logo.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./sidebar-logo.vue?vue&type=template&id=11699a0c&scoped=true\"\nimport script from \"./sidebar-logo.ts?vue&type=script&lang=ts&external\"\nexport * from \"./sidebar-logo.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./sidebar-logo.vue?vue&type=style&index=0&id=11699a0c&prod&lang=less&scoped=true\"\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 \"11699a0c\",\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\nimport SidebarItem from './components/sidebar-item.vue';\nimport SidebarLogo from './components/sidebar-logo.vue';\nimport { store } from '@/store';\n\n@Component({\n name: 'SideBar',\n components: {\n SidebarItem,\n SidebarLogo\n }\n})\nexport default class extends Vue {\n get sidebar() {\n return store.state.app.sidebar;\n }\n\n get isCollapse() {\n return !this.sidebar.opened;\n }\n\n get routes() {\n return store.getters.permission.routes();\n }\n\n get activeMenu() {\n const route = this.$route;\n const { meta, path } = route;\n if (meta.activeMenu)\n return meta.activeMenu;\n return path;\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/ts-loader/index.js??ref--13-2!./index.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!./index.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2632ecf2\"\nimport script from \"./index.ts?vue&type=script&lang=ts&external\"\nexport * from \"./index.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=2632ecf2&prod&lang=less\"\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 { Component } from 'vue-property-decorator'\nimport { mixins } from 'vue-class-component'\nimport { DeviceType} from '@/store/modules/app'\nimport ResizeMixin from './mixin/resize'\nimport { AppMain, Navbar, Sidebar } from './components'\nimport { store } from '@/store'\n\n@Component({\n name: 'Layout',\n components: {\n AppMain,\n Navbar,\n Sidebar\n }\n})\nexport default class extends mixins(ResizeMixin) {\n get classObj() {\n return {\n hideSidebar: !this.sidebar.opened,\n openSidebar: this.sidebar.opened,\n withoutAnimation: this.sidebar.withoutAnimation,\n mobile: this.device === DeviceType.Mobile\n }\n }\n\n private handleClickOutside() {\n store.actions.app.CloseSideBar(false)\n }\n}","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!./web.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--13-2!./web.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./web.vue?vue&type=template&id=601c630e&scoped=true\"\nimport script from \"./web.ts?vue&type=script&lang=ts&external\"\nexport * from \"./web.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./web.vue?vue&type=style&index=0&id=601c630e&prod&lang=less&scoped=true\"\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 \"601c630e\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter, { RouteConfig } from 'vue-router'\nimport CleanLayout from \"@/layout/clean.vue\";\nimport AnonymousLayout from \"@/layout/anonymous.vue\";\nimport AuthorizedLayout from \"@/layout/web.vue\";\nimport settings from '@/settings';\n\n\nVue.use(VueRouter)\n\n/*\n name:'router-name' the name field is required when using , it should also match its component's name property\n detail see : https://vuejs.org/v2/guide/components-dynamic-async.html#keep-alive-with-Dynamic-Components\n redirect: if set to 'noredirect', no redirect action will be trigger when clicking the breadcrumb\n meta: {\n claims: ['claim1', 'claim2'] will control the permission claims (allow setting multiple claims)\n title: 'title' the name showed in subMenu and breadcrumb (recommend set)\n icon: 'icon class name' the icon showed in the sidebar\n hidden: true if true, this route will not show in the sidebar (default is false)\n alwaysShow: true if true, will always show the root menu (default is false)\n if false, hide the root menu when has less or equal than one children route\n breadcrumb: false if false, the item will be hidden in breadcrumb (default is true)\n activeMenu: '/example/list' if set path, the sidebar will highlight the path you set\n }\n*/\n\nexport function constantRoutes(): RouteConfig[] {\n return [\n {\n path: '/anonymous',\n component: AnonymousLayout,\n redirect: '/login',\n meta: { hidden: true },\n children: [{\n path: '/login',\n name: 'login',\n component: () => import(/* webpackChunkName: \"login\" */ '@/modules/account/views/login.vue'),\n meta: {\n title: `Accedi`,\n hidden: true\n }\n },\n {\n path: '/recoverPassword',\n name: 'recoverPassword',\n component: () => import(/* webpackChunkName: \"recoverPassword\" */ '@/modules/account/views/recoverPassword.vue'),\n meta: {\n title: `Recupera password`,\n hidden: true\n },\n props: true\n },\n {\n path: '/changeCredential',\n name: 'changeCredential',\n component: () => import(/* webpackChunkName: \"changeCredential\" */ '@/modules/account/views/changeCredential.vue'),\n meta: {\n title: `Cambia credenziali di accesso`,\n hidden: true\n }\n },\n {\n path: '/register/:codiceFiscale',\n name: 'register',\n component: () => import(/* webpackChunkName: \"changeCredential\" */ '@/modules/account/views/register.vue'),\n meta: {\n title: `Registrati`,\n hidden: true\n },\n props: true\n },\n {\n path: '/addCredential/:userId/:code',\n name: 'addCredential',\n component: () => import(/* webpackChunkName: \"addCredential\" */ '@/modules/account/views/addCredential.vue'),\n meta: {\n title: `Aggiungi credenziali`,\n hidden: true\n },\n props: true\n },\n {\n path: '/resetPassword/:userId/:code',\n name: 'resetPassword',\n component: () => import(/* webpackChunkName: \"resetPassword\" */ '@/modules/account/views/resetPassword.vue'),\n meta: {\n title: `Reset password`,\n hidden: true\n },\n props: true\n },\n {\n path: '/emailConfirm/:userId/:code',\n name: 'emailConfirm',\n component: () => import(/* webpackChunkName: \"emailConfirm\" */ '@/modules/account/views/emailConfirm.vue'),\n meta: {\n title: `Conferma E-Mail`,\n hidden: true\n },\n props: true\n },\n {\n path: '404',\n component: () => import(/* webpackChunkName: \"404\" */ '@/views/error-page/404.vue'),\n meta: { hidden: true }\n },\n {\n path: '401',\n component: () => import(/* webpackChunkName: \"401\" */ '@/views/error-page/401.vue'),\n meta: { hidden: true }\n }]\n },\n {\n name: 'dashboard',\n path: '/',\n component: AuthorizedLayout,\n redirect: '/dashboard',\n children: [\n {\n component: () => import(/* webpackChunkName: \"dashboard\" */ '@/views/dashboard/index.vue'),\n path: '/dashboard',\n name: 'dashboard',\n meta: {\n title: 'Home',\n icon: 'fas fa-tachometer-alt',\n hidden: false\n }\n },\n {\n path: 'profile',\n name: 'profile',\n component: () => import(/* webpackChunkName: \"profile\" */ '@/modules/profile/index.vue'),\n meta: {\n title: 'Profilo utente',\n icon: 'fas fa-user',\n hidden: true\n }\n },\n {\n path: '404',\n component: () => import(/* webpackChunkName: \"404\" */ '@/views/error-page/404.vue'),\n meta: { hidden: true }\n },\n {\n path: '401',\n component: () => import(/* webpackChunkName: \"401\" */ '@/views/error-page/401.vue'),\n meta: { hidden: true }\n }\n ]\n },\n {\n name: 'albo-unico',\n path: '/albo-unico',\n component: CleanLayout,\n redirect: '/albo-unico',\n children: [\n {\n component: () => import(/* webpackChunkName: \"dashboard\" */ '@/modules/albo-iscritti/index.vue'),\n path: '/albo-unico/:ordine?',\n name: 'albo-unico',\n meta: {\n title: `Albo Unico`,\n hidden: true\n },\n props: true\n }\n ]\n }\n ]\n};\n\nexport function permissionRoutes(): Array {\n return [\n {\n name: 'corsi',\n path: '/corsi',\n component: AuthorizedLayout,\n redirect: '/corsi/lista',\n meta: {\n title: \"Corsi\",\n icon: \"fas fa-chalkboard-teacher\",\n claims: ['CORSO.viewAll', 'CORSO.viewOrg', 'CORSO.viewMine']\n },\n children: [{\n name: 'corsi',\n path: '/corsi/lista',\n component: () => import(/* webpackChunkName: \"corsi\" */ '@/modules/corsi/views/corsi.vue'),\n meta: {\n title: `Gestione Corsi`,\n icon: \"fas fa-chalkboard-teacher\",\n }\n }, {\n name: 'modificaCorso',\n path: '/corsi/:id',\n component: () => import(/* webpackChunkName: \"corsi\" */ '@/modules/corsi/views/corso.vue'),\n meta: {\n title: `Modifica corso`,\n hidden: true\n },\n props: true\n }]\n },\n {\n name: 'creditiSpeciali',\n path: '/crediti-speciali',\n component: AuthorizedLayout,\n redirect: '/crediti-speciali/lista',\n meta: {\n claims: [\"CREDSPECIALI.viewAll\", \"CREDSPECIALI.viewOrg\"]\n },\n children: [{\n name: 'creditiSpecialiLista',\n path: '/crediti-speciali/lista',\n //component: () => import(/* webpackChunkName: \"corsi\" */ '@/modules/corsi/views/corsi.vue'),\n component: () => import(/* webpackChunkName: \"creditiSpeciali\" */ '@/modules/creditiSpeciali/views/creditiSpeciali.vue'),\n meta: {\n title: `Crediti Speciali`,\n icon: \"fas fa-medal\",\n }\n }]\n },\n {\n name: 'giornalistaCorsi',\n path: '/giornalisti/corsi',\n component: AuthorizedLayout,\n redirect: '/giornalisti/corsi/aperti',\n meta: {\n title: \"Corsi\",\n icon: `fas fa-school`,\n claims: ['GIORNALISTI.corsiAperti', 'GIORNALISTI.iMieiCorsi']\n },\n children: [\n {\n name: \"giornalistiCorsiAperti\",\n path: \"/giornalisti/corsi/aperti\",\n component: () => import(/* webpackChunkName: \"giornalisti-corsi\" */ '@/modules/giornalisti/views/corsiAperti.vue'),\n meta: {\n title: `Corsi Disponibili`,\n icon: `fas fa-school`,\n claims: ['GIORNALISTI.corsiAperti']\n }\n },\n {\n name: \"giornalistiCorsiProroga\",\n path: \"/giornalisti/corsi/proroga\",\n component: () => import(/* webpackChunkName: \"giornalisti-corsi\" */ '@/modules/giornalisti/views/corsiProroga.vue'),\n meta: {\n title: `Corsi Disponibili in Proroga`,\n icon: `fas fa-school`,\n claims: ['GIORNALISTI.corsiAperti'],\n adempientePeriodoFormativoPrecedente: false\n }\n },\n {\n name: \"giornalistaIMieiCorsi\",\n path: \"/giornalisti/corsi/giornalista\",\n component: () => import(/* webpackChunkName: \"giornalisti-corsi\" */ '@/modules/giornalisti/views/iMieiCorsi.vue'),\n meta: {\n title: `I Miei Corsi`,\n icon: `fas fa-school`,\n claims: ['GIORNALISTI.iMieiCorsi']\n }\n },\n {\n name: \"giornalistiCorsoDetail\",\n path: \"/giornalisti/corsi/dettaglio/:corsoId/:anagraficaGiornalistaId?\",\n component: () => import(/* webpackChunkName: \"giornalisti-corsi\" */ '@/modules/giornalisti/components/dettaglioCorso/dettaglioCorso.vue'),\n meta: {\n title: `Dettaglio corso`,\n hidden: true\n },\n props: true,\n }, {\n name: 'conferma',\n path: '/giornalisti/corsi/conferma-invito/:corsoId/:anagraficaGiornalistaId?',\n component: () => import(/* webpackChunkName: \"enti-aziende\" */ '@/modules/giornalisti/views/confermaIscrizione.vue'),\n meta: {\n title: 'Conferma iscrizione',\n hidden: true\n },\n props: true\n }]\n },\n // {\n // path: 'external-link',\n // component: AuthorizedLayout,\n // meta: {\n // title: \"Corsi\",\n // icon: `fas fa-school`,\n // claims: ['GIORNALISTI.corsiOnline']\n // },\n // children: [\n // {\n // path: `${settings.connectAuthorizeMoodleUrl}`,\n // meta: { title: 'Corsi Online', icon: 'fas fa-external-link-alt' }\n // }\n // ]\n // },\n {\n name: 'giornalisti',\n path: '/giornalisti',\n component: AuthorizedLayout,\n redirect: '/giornalisti/lista',\n meta: {\n title: `Giornalisti`,\n icon: `fas fa-user-graduate`,\n claims: ['ANAGRAFICA_GIORNALISTI.viewAll', 'ANAGRAFICA_GIORNALISTI.viewOrg']\n },\n children: [{\n name: 'giornalisti',\n path: '/giornalisti/lista',\n component: () => import(/* webpackChunkName: \"anagrafica\" */ '@/modules/anagrafica/views/anagrafica.vue'),\n meta: {\n title: `Giornalisti`,\n icon: `fas fa-user-graduate`,\n claims: ['ANAGRAFICA_GIORNALISTI.viewAll', 'ANAGRAFICA_GIORNALISTI.viewOrg']\n }\n }]\n },\n {\n name: 'offerta-formativa',\n path: \"/offerta-formativa\",\n component: AuthorizedLayout,\n redirect: '/offerta-formativa/periodo-formativo',\n meta: {\n title: \"Offerta formativa\",\n icon: \"fas fa-graduation-cap\",\n claims: ['OFFERTA_FORMATIVA.PF.enabled', 'OFFERTA_FORMATIVA.POF.enabled']\n },\n children: [{\n name: 'periodo-formativo',\n path: '/offerta-formativa/periodo-formativo',\n component: () => import(/* webpackChunkName: \"periodo-formativo\" */ '@/modules/offertaFormativa/views/periodoFormativo.vue'),\n meta: {\n title: `Periodo formativo`,\n icon: \"fas fa-graduation-cap\",\n claims: ['OFFERTA_FORMATIVA.PF.enabled']\n }\n }, {\n name: 'pof',\n path: '/offerta-formativa/piano-offerta-formativa/:periodoFormativoId?',\n component: () => import(/* webpackChunkName: \"pof\" */ '@/modules/offertaFormativa/views/pianoOffertaFormativa.vue'),\n meta: {\n title: `Piani offerta formativa`,\n icon: \"fas fa-graduation-cap\",\n claims: ['OFFERTA_FORMATIVA.POF.enabled']\n },\n props: true\n }],\n },\n {\n name: 'enti',\n path: \"/enti\",\n component: AuthorizedLayout,\n redirect: \"/enti/etf\",\n meta: {\n title: \"Enti\",\n icon: \"fab fa-digital-ocean\",\n claims: ['ANAGRAFICA_ENTI.viewETF', 'ANAGRAFICA_ENTI.viewAziende']\n },\n children: [{\n name: 'etf',\n path: '/enti/etf',\n component: () => import(/* webpackChunkName: \"enti-aziende\" */ '@/modules/enti/views/etf.vue'),\n meta: {\n title: `Enti terzi formatori`,\n icon: \"fab fa-digital-ocean\",\n claims: ['ANAGRAFICA_ENTI.viewETF']\n }\n },\n {\n name: 'aziende',\n path: '/enti/aziende',\n component: () => import(/* webpackChunkName: \"enti-aziende\" */ '@/modules/enti/views/aziende.vue'),\n meta: {\n title: `Aziende`,\n icon: \"fab fa-digital-ocean\",\n claims: ['ANAGRAFICA_ENTI.viewAziende']\n }\n }],\n },\n {\n name: \"organi\",\n path: \"/organi\",\n component: AuthorizedLayout,\n redirect: \"/organi/crog\",\n meta: {\n title: \"Organi\",\n icon: \"el-icon-menu\",\n claims: ['ANAGRAFICA_ENTI.viewCTS', 'ANAGRAFICA_ENTI.viewCNOG', 'ANAGRAFICA_ENTI.viewCROG']\n },\n children: [{\n name: 'crog',\n path: '/organi/crog',\n component: () => import(/* webpackChunkName: \"enti-crog\" */ '@/modules/enti/views/crog.vue'),\n meta: {\n title: `CROG`,\n icon: \"el-icon-menu\",\n claims: ['ANAGRAFICA_ENTI.viewCROG']\n }\n },\n {\n name: 'cnog',\n path: '/organi/cnog',\n component: () => import(/* webpackChunkName: \"enti-aziende\" */ '@/modules/enti/views/cnog.vue'),\n meta: {\n title: `CNOG`,\n icon: \"el-icon-menu\",\n claims: ['ANAGRAFICA_ENTI.viewCNOG']\n }\n },\n {\n name: 'cts',\n path: '/organi/cts',\n component: () => import(/* webpackChunkName: \"enti-aziende\" */ '@/modules/enti/views/cts.vue'),\n meta: {\n title: `CTS`,\n icon: \"el-icon-menu\",\n claims: ['ANAGRAFICA_ENTI.viewCTS']\n }\n }],\n },\n {\n name: \"richieste\",\n path: \"/richieste\",\n component: AuthorizedLayout,\n redirect: \"/richieste/speciali\",\n meta: {\n icon: \"fas fa-life-ring\",\n claims: ['RICHIESTE_SPECIALI.enabled']\n },\n children: [{\n name: 'speciali',\n path: '/richieste/speciali',\n component: () => import(/* webpackChunkName: \"user\" */ '@/views/richiesteSpeciali/index.vue'),\n meta: {\n title: `Richieste Speciali`,\n icon: \"fas fa-life-ring\"\n }\n }],\n },\n {\n name: \"impostazioni\",\n path: \"/impostazioni\",\n component: AuthorizedLayout,\n redirect: \"/impostazioni/utenti\",\n meta: {\n title: \"Impostazioni\",\n icon: \"el-icon-setting\",\n claims: ['USERS.enabled', 'GROUPS.enabled', 'USERS.viewOrg']\n },\n children: [{\n name: 'utenti',\n path: '/impostazioni/utenti',\n component: () => import(/* webpackChunkName: \"user\" */ '@/modules/users/views/index.vue'),\n meta: {\n title: `Utenti`,\n icon: \"fas fa-users\",\n claims: ['USERS.enabled', 'USERS.viewOrg']\n }\n },\n {\n name: 'ruoli',\n path: '/impostazioni/ruoli',\n component: () => import(/* webpackChunkName: \"roles\" */ '@/modules/roles/views/rolesView.vue'),\n meta: {\n title: `Ruoli`,\n icon: \"fas fa-key\",\n claims: ['GROUPS.enabled']\n }\n }],\n },\n {\n name: 'timeline',\n path: '/timeline',\n component: AuthorizedLayout,\n redirect: '/timeline/logs',\n meta: {\n title: 'Timeline',\n icon: 'fas fa-clock',\n claims: ['TIMELINE.enabled']\n },\n children: [\n {\n name: 'logs',\n path: '/timeline/logs',\n component: () => import(/* webpackChunkName: \"logs\" */ '@/modules/logs/views/logs.vue'),\n meta: {\n title: 'Timeline operazioni',\n icon: 'fas fa-clock',\n claims: ['TIMELINE.enabled']\n }\n },\n {\n name: \"logDetail\",\n path: \"/timeline/logs/:id\",\n component: () => import(/* webpackChunkName: \"logs\" */ '@/modules/logs/views/log.vue'),\n meta: {\n title: `Dettaglio operazione`,\n hidden: true\n },\n props: true,\n },\n {\n name: 'logs',\n path: '/timeline/console-logs',\n component: () => import(/* webpackChunkName: \"logs\" */ '@/modules/logs/views/consoleLogs.vue'),\n meta: {\n title: 'Timeline console',\n icon: 'fas fa-clock',\n claims: ['TIMELINE.console']\n }\n }\n ]\n }\n ]\n}\n\nconst createRouter = () =>\n new VueRouter({\n mode: 'history',\n scrollBehavior: (to, from, savedPosition) => {\n if (savedPosition) {\n return savedPosition;\n } else {\n return { x: 0, y: 0 };\n }\n },\n base: process.env.BASE_URL,\n routes: constantRoutes()\n });\n\nconst router = createRouter();\n\nexport function resetRouter() {\n const newRouter = createRouter();\n (router as any).matcher = (newRouter as any).matcher; // reset router\n}\n\nexport default router;\n","/* eslint-disable */\n\nimport moment from \"moment\";\n\n// Set utils function parseTime to filter\nexport const formatTime = function (value: any, option?: string, localTime: boolean = true): string {\n if (!value) {\n return null;\n }\n\n let time: any = value;\n if (typeof (value) === 'string') {\n time = new Date(value);\n }\n\n if (!time.getTime) {\n return null;\n }\n\n const format = option || 'DD/MM/YYYY HH:mm:ss';\n let date;\n if (typeof time === 'object') {\n date = time;\n } else {\n if (('' + time).length === 10) time = parseInt(time) * 1000;\n date = new Date(time);\n }\n if (localTime)\n return moment(date).format(format);\n return moment.utc(date).format(format);\n};\n\nexport function formatValue(value: any, c = 2, suffix?: string, prefix?: string, d?: string, t?: string) {\n if (value === null || typeof value === 'undefined') return null;\n var d = d === undefined || d === null ? ',' : d;\n var t = t === undefined || d === null ? '.' : t;\n const s = value < 0 ? '-' : '';\n const i = String(parseInt((value = Math.abs(Number(value) || 0).toFixed(c))));\n var j = (j = i.length) > 3 ? j % 3 : 0;\n const v =\n (prefix || '') +\n s +\n (j ? i.substr(0, j) + t : '') +\n i.substr(j).replace(/(\\d{3})(?=\\d)/g, '$1' + t) +\n (c > 0\n ? d +\n Math.abs(value - Number(i))\n .toFixed(c)\n .slice(2)\n : '') +\n (suffix || '');\n return v;\n}\n\n// Filter to uppercase the first character\nexport const uppercaseFirstChar = (str: string) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n};\n\nexport const stripHTML = (html: string) => {\n const elem = document.createElement('div')\n elem.innerHTML = html;\n return elem.textContent || elem.innerText || ''\n // html = html.replace(/
/ig,\"\\n\").replace(/

(.*)<\\/p>/ig, \"$1\\n\");\n // return html.replace(/<\\/?[^>]+>/ig, \"\"); \n}\n\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./anonymous.vue?vue&type=style&index=0&id=e6038f5e&prod&lang=less\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=2632ecf2&prod&lang=less\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('router-view')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Component from \"vue-class-component\";\nimport Vue from \"vue\";\nimport { authService } from \"./modules/account/services/authService\";\n\n@Component({})\nexport default class App extends Vue {\n\n // async mounted() {\n // await this.checkAuth();\n // }\n\n // async updated() {\n // await this.checkAuth();\n // }\n\n // async checkAuth(){\n // var token = await authService.GetAccessToken();\n\n // let needlogin = false;\n // if (!token) needlogin = true;\n\n // try {\n // await authService.WhoAmI();\n // await authService.GetClaims();\n // } catch (err) {\n // needlogin = true;\n // }\n\n // const whiteList = ['/register', '/recoverPassword', '/changeCredential', '/addCredential', '/resetPassword', '/emailConfirm'];\n // if (this.$route.name !== 'login' && needlogin && !whiteList.some(s => this.$route.path.indexOf(s) !== -1)) {\n // this.$router.push({ name: 'login' })\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/ts-loader/index.js??ref--13-2!./App.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/ts-loader/index.js??ref--13-2!./App.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=15aedb62\"\nimport script from \"./App.ts?vue&type=script&lang=ts&external\"\nexport * from \"./App.ts?vue&type=script&lang=ts&external\"\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 router, { constantRoutes, permissionRoutes } from '../router';\nimport NProgress from 'nprogress';\nimport 'nprogress/nprogress.css';\n\nimport { Route } from 'vue-router';\nimport { store } from '@/store';\n\nimport { authService } from '@/modules/account/services/authService';\n\nimport { Message } from 'element-ui';\nimport { periodoFormativoService } from '@/modules/offertaFormativa/services/periodoFormativoService';\n\nNProgress.configure({ showSpinner: false });\n\nlet loadPermissionRouteClaims = false;\nconst whiteList = ['/login', '/register', '/recoverPassword', '/changeCredential', '/addCredential', '/resetPassword', '/emailConfirm', '/albo-unico'];\nrouter.beforeEach(async (to: Route, _: Route, next: any) => {\n // Start progress bar\n NProgress.start();\n // Determine whether the user has logged in\n const isAuthenticated = await authService.GetAccessToken();\n if (!!isAuthenticated) {\n // load user info\n try {\n await authService.WhoAmI();\n await authService.GetClaims();\n await periodoFormativoService.List();\n } catch (err) {\n await authService.Logout();\n next({ path: `/login?redirect=${to.path}` });\n //next({ path: '/login' });\n loadPermissionRouteClaims = false;\n NProgress.done();\n }\n\n if (to.path === '/login') {\n // If is logged in, redirect to the home page\n next({ path: '/', query: to.query});\n NProgress.done();\n } else {\n // Check whether the user has obtained his permission roles\n let claims = store.state.login.claims || [];\n if (claims.length <= 0 && loadPermissionRouteClaims) {\n // Remove token and redirect to login page\n await authService.Logout();\n Message.error(`L'utente non ha i permessi necessari ad accedere!`);\n next({ path: '/login' });\n loadPermissionRouteClaims = false;\n NProgress.done();\n } else {\n if (!loadPermissionRouteClaims) {\n\n claims = await authService.GetClaims();\n\n loadPermissionRouteClaims = true;\n // Generate accessible routes map based on claims\n store.actions.permission.generateRoutes(claims);\n // Dynamically add accessible routes\n store.state.permission.dynamicRoutes.forEach(route => {\n router.addRoute(route);\n });\n\n // Hack: ensure addRoutes is complete\n // Set the replace: true, so the navigation will not leave a history record\n next({ ...to, replace: true });\n } else {\n if (router.getMatchedComponents(to).length > 0) {\n next();\n } else {\n const allRoutes = permissionRoutes().concat(constantRoutes()).map(value =>\n [value.path, ...value.children.map(child => child.path)]\n ).flat();\n\n if (allRoutes.includes(to.path))\n next({ path: \"/401\", replace: true });\n else\n next({ path: \"/404\", replace: true });\n }\n }\n }\n }\n } else {\n // Has no token\n if (whiteList.some(s => to.path.indexOf(s) !== -1)) {\n // In the free login whitelist, go directly\n next();\n } else {\n // // Other pages that do not have permission to access are redirected to the login page.\n next({ path: `/login?redirect=${to.path}` });\n // next({ path: '/login' });\n loadPermissionRouteClaims = false;\n NProgress.done();\n }\n }\n});\n\nrouter.afterEach((to: Route) => {\n NProgress.done();\n document.title = getPageTitle(to.meta.title);\n});\n\nconst getPageTitle = (title: string) => {\n const baseTitle = `Formazione Giornalisti ODG`\n if (title)\n return `${title} - ${baseTitle}`;\n return `${baseTitle}`;\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.visible)?_c('div',{staticClass:\"popup-filter-info-wrapper\",attrs:{\"id\":\"popupBarWrapper\"}},[_c('div',{staticClass:\"popup-content\",attrs:{\"id\":\"popupBarContent\"}},[_c('div',{staticClass:\"popup-body\"},[_c('i',{staticClass:\"popup-close fas fa-times-circle\",on:{\"click\":function($event){_vm.visible = false}}}),_vm._v(\" \"+_vm._s(_vm.text)+\" \")]),_c('i',{staticClass:\"popup-arrow fas fa-long-arrow-alt-right\"})])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { compile } from 'path-to-regexp';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { RouteRecord, Route } from 'vue-router';\n\n@Component({})\nexport default class InfoFilterBox extends Vue {\n @Prop({ default: \"Clicca sull'icona per ricercare e visualizzare i risultati piĆ¹ adatti alle tue esigenze\", required: false })\n text: string;\n\n visible: boolean = false;\n mounted() {\n setTimeout(() => {\n this.visible = true;\n setTimeout(() => {\n this.visible = false;\n }, 10000)\n }, 1000)\n }\n\n beforeDestroy() {\n this.visible = false\n }\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--13-2!./index.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--13-2!./index.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=39dc215d&scoped=true\"\nimport script from \"./index.ts?vue&type=script&lang=ts&external\"\nexport * from \"./index.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=39dc215d&prod&lang=less&scoped=true\"\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 \"39dc215d\",\n null\n \n)\n\nexport default component.exports","import Vue, { Component } from 'vue'\nimport App from './App.vue'\n\nimport { store, vueStore } from \"@/store\"\nimport router from './router';\nimport '@/router/permissions';\n\nVue.config.productionTip = false\n\nimport \"normalize.css\"\nimport i18n, { getLocale } from '@/lang'\n\nimport ElementUI from \"element-ui\";\n\nimport 'element-ui/lib/theme-chalk/index.css';\nimport \"@/assets/index.less\";\n\nimport settings, { loadSettings } from './settings'\n\nimport { getSize } from './store/modules/app'\nimport moment from 'moment'\n\nVue.use(ElementUI, {\n size: getSize() || \"default\",\n i18n: (key: string, value: string) => i18n.t(key, value)\n})\n\nmoment.locale(getLocale());\n\n// Register global mixin\nVue.mixin({\n methods: {\n $can(key: string) {\n return store.state.login.claims.indexOf(key) >= 0;\n },\n $me() {\n return store.state.login.userInfo;\n }\n }\n});\n\nimport InfoFilterBox from '@/components/InfoFilterBox/index.vue';\nVue.component(\"InfoFilterBox\", InfoFilterBox)\n\nimport * as filters from '@/filters';\n// Register global filter functions\nObject.keys(filters).forEach(key => {\n Vue.filter(key, (filters as { [key: string]: Function, })[key]);\n});\n\nloadSettings().then(async () => {\n\n try {\n await authService.CheckLoginFromExternalProvider();\n } catch (err) {\n console.error('cannot upgrade authentication token.', err);\n }\n\n new Vue({\n router,\n store: vueStore,\n i18n,\n render: h => h(App)\n }).$mount('#app')\n})\n\nimport { authService } from './modules/account/services/authService';\nsetInterval(async () => {\n await authService.AutoRenewToken();\n}, settings.authSettings.refreshTokenInterval * 60 * 1000);\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navbar.vue?vue&type=style&index=0&id=25ffc1fc&prod&lang=less\"","import settings from \"@/settings\";\nimport { store } from \"@/store\";\nimport { baseRestService, AuthToken } from \"@/services/_base/baseRestService\";\nimport { loginStore } from \"@/store/modules/login.store\";\n\nimport QS from \"qs\";\n\nclass AuthServices extends baseRestService {\n\n constructor() {\n super();\n\n this.baseUrl = () => settings.authSettings.endpoint;\n\n this.OnError = (e) => {\n const error = {\n title: e.data.name,\n details: e.data.message,\n };\n console.error(e);\n return null;\n };\n\n this.OnHeadersPreparing = (headers: any) => {\n headers['Content-Type'] = \"application/x-www-form-urlencoded\";\n return headers\n }\n }\n\n\n public async CheckLoginFromExternalProvider() {\n\n if (sessionStorage.getItem(`auth_code`)) {\n const authData = new URLSearchParams();\n authData.append(\"code\", sessionStorage.getItem('auth_code'));\n authData.append(\"response_type\", \"token\");\n authData.append(\"client_id\", settings.authSettings.clientId);\n authData.append(\"grant_type\", \"authorization_code\");\n authData.append(\"redirect_uri\", `${window.location.origin}/auth_callback.html`)\n\n var result = await this.Post(`/connect/token`, authData);\n if (result)\n this.setAuthenticationToken(result);\n\n sessionStorage.removeItem('auth_code');\n }\n }\n\n /**\n *\n * Authentication method\n *\n * @param uri uri string for logging in\n * @param data object with email and password to authenticate user\n * @returns an AuthToken or null and set and authentication token to the local storage\n */\n public async Login(obj: account.login): Promise {\n const authData = new URLSearchParams();\n authData.append(\"username\", obj.userName);\n authData.append(\"password\", obj.password);\n authData.append(\"scope\", settings.authSettings.scopes);\n authData.append(\"client_id\", settings.authSettings.clientId);\n authData.append(\"grant_type\", \"password\");\n\n const response = await this.Post('/connect/token', authData);\n\n if (response) {\n this.setAuthenticationToken(response);\n // await usersService.whoAmI();\n // await usersService.getClaims();\n }\n return response;\n\n }\n\n\n public async Logout() {\n await this.Post(\"/connect/logout\", null);\n this.deleteAuthenticationToken();\n }\n\n public async AutoRenewToken() {\n var token = await this.getAuthenticationToken();\n\n if (token) {\n await this.RefreshToken();\n }\n }\n\n /**\n * Refresh auth token in the local storage\n *\n * @returns an AuthToken or null if any error\n */\n public async RefreshToken(): Promise {\n const token = await this.getAuthenticationToken();\n\n const refreshData = new URLSearchParams();\n refreshData.append(\"grant_type\", \"refresh_token\");\n refreshData.append(\"scope\", settings.authSettings.scopes);\n refreshData.append(\"client_id\", settings.authSettings.clientId);\n refreshData.append(\"refresh_token\", `${token.refresh_token}`);\n\n\n try {\n const response = await this.http.post(`${settings.authSettings.endpoint}/connect/token`, refreshData, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } });\n if (response.status == 200) {\n if (response.data.expires_in) {\n response.data.expiration_date = new Date(new Date().getTime() + response.data.expires_in * 1000).getTime();\n }\n\n this.setAuthenticationToken(response.data);\n\n // await usersService.whoAmI();\n // await usersService.getClaims();\n }\n if (response.status >= 400) {\n this.deleteAuthenticationToken();\n }\n return response.data;\n } catch (err) {\n return null;\n }\n }\n\n public async GetAccessToken() {\n return JSON.parse(localStorage.getItem(\"authorizationData\"))\n }\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected setAuthenticationToken(data: AuthToken) {\n localStorage.setItem(\"authorizationData\", JSON.stringify(data));\n baseRestService._token = data;\n }\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected deleteAuthenticationToken() {\n localStorage.removeItem(\"authorizationData\")\n store.actions.login.setMyUserInfo(null);\n store.actions.login.setClaims([]);\n baseRestService._token = null;\n }\n\n public async WhoAmI(): Promise {\n try {\n let result = await this.Get(\"/identity/users/whoami\");\n store.actions.login.setMyUserInfo(result);\n return result;\n } catch { return null; }\n }\n\n public async GetClaims(): Promise {\n let result = await this.Get(\"/identity/users/claims\");\n store.actions.login.setClaims(result);\n return result;\n }\n\n public async GetSPIDProviders(): Promise {\n let result = await this.Get(\"/spid/providers\");\n return result;\n }\n\n public async DoSpidLogin(provider: string) {\n var params = QS.stringify({\n provider,\n returnUrl: `/connect/authorize?client_id=${settings.authSettings.clientId}&response_type=code&redirect_uri=${window.location.origin}/auth_callback.html`\n })\n window.open(`${this.baseUrl()}/spid/Login?${params}`);\n }\n public async DoCieLogin() {\n var params = QS.stringify({\n returnUrl: `/connect/authorize?client_id=${settings.authSettings.clientId}&response_type=code&redirect_uri=${window.location.origin}/auth_callback.html`\n })\n window.open(`${this.baseUrl()}/cie/Login?${params}`);\n }\n}\n\nexport const authService = new AuthServices();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./web.vue?vue&type=style&index=0&id=601c630e&prod&lang=less&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7f1f0116&prod&lang=less&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./clean.vue?vue&type=style&index=0&id=609e071e&prod&lang=less\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar-logo.vue?vue&type=style&index=0&id=11699a0c&prod&lang=less&scoped=true\"","import Axios, { AxiosInstance, AxiosPromise, AxiosResponse, AxiosBasicCredentials, AxiosRequestConfig } from \"axios\";\nimport Qs from \"qs\";\n\n\nexport enum CacheStategy {\n NetworkFirst,\n CacheFirst,\n None\n}\n\n\n/// ---------------------------------------------------------------------------- ///\n/// ATTENZIONE ///\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n/// ---------------------------------------------------------------------------- ///\nexport class baseRestService {\n\n protected allwaysSendAuthenticationToken: boolean = true;\n protected saveToSessionStorage: boolean = true;\n baseUrl: () => string = () => \"\";\n\n OnError?: OnErrorDelegate;\n OnHeadersPreparing?: OnHeadersPreparingDelegate;\n\n protected http: AxiosInstance;\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n constructor() {\n this.http = Axios.create();\n this.setArraySerializationMethod();\n }\n\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n private setArraySerializationMethod() {\n this.http.interceptors.request.use(async (reqConfig) => {\n //change the default serializer only if the method is a GET\n if (reqConfig.method !== \"get\") {\n return reqConfig;\n }\n //the 'repeat' is the standard behavior for array: arrKey=x&arrKey=y&arrKey=z....\n reqConfig.paramsSerializer = (params) => {\n return Qs.stringify(params, { arrayFormat: \"repeat\" });\n };\n return reqConfig;\n });\n }\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected async getRaw(uri: string, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\n\n let response = await this.http.get(this.baseUrl() + uri,\n {\n headers: await this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, false, cacheStrategy),\n params: params,\n responseType: 'arraybuffer'\n });\n\n if (response.status != 200 && this.OnError) this.OnError(response);\n return response;\n };\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected async get(uri: string, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.NetworkFirst): Promise {\n let response = await this.http.get(this.baseUrl() + uri,\n {\n headers: await this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, false, cacheStrategy),\n params: params,\n transformResponse: (resp => resp ? JSON.parse(resp, toDate) : null)\n });\n\n if (response.status != 200 && this.OnError) this.OnError(response);\n return response;\n };\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected async Get(uri: string, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.NetworkFirst): Promise {\n let result = await this.get(uri, params, sendAuthenticationToken, cacheStrategy);\n if (result.status == 200)\n return result.data as TResult;\n else if (this.OnError) this.OnError(result);\n return null;\n }\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected async post(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\n let response = await this.http.post(this.baseUrl() + uri, data,\n {\n headers: await this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, true, cacheStrategy),\n params: params,\n transformResponse: (resp => resp ? JSON.parse(resp, toDate) : null)\n } as AxiosRequestConfig);\n // if (response.status != 200 && this.OnError) this.OnError(response);\n return response;\n };\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected async Post(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\n let result = await this.post(uri, data, params, sendAuthenticationToken, cacheStrategy);\n if (result.status == 200)\n return result.data as TResult;\n else if (this.OnError) this.OnError(result);\n return null;\n }\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected async put(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\n let response = await this.http.put(this.baseUrl() + uri, data,\n {\n headers: await this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, true, cacheStrategy),\n params: params,\n transformResponse: (resp => resp ? JSON.parse(resp, toDate) : null)\n });\n if (response.status != 200 && this.OnError) this.OnError(response);\n return response;\n }\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected async Put(uri: string, data: any, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\n let result = await this.put(uri, data, params, sendAuthenticationToken, cacheStrategy);\n if (result.status == 200)\n return result.data as TResult;\n else if (this.OnError) this.OnError(result);\n return null;\n }\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected async delete(uri: string, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\n let response = await this.http.delete(this.baseUrl() + uri,\n {\n headers: await this.prepareHeaders(this.allwaysSendAuthenticationToken || sendAuthenticationToken, false, cacheStrategy),\n params: params,\n transformResponse: (resp => resp ? JSON.parse(resp, toDate) : null)\n });\n if (response.status != 200 && this.OnError) this.OnError(response);\n return response;\n }\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected async Delete(uri: string, params: object = {}, sendAuthenticationToken: boolean = false, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\n let result = await this.delete(uri, params, sendAuthenticationToken, cacheStrategy);\n if (result.status == 200)\n return result.data as TResult;\n else if (this.OnError) this.OnError(result);\n return null;\n }\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected async prepareHeaders(auth: boolean = false, json: boolean = true, cacheStrategy: CacheStategy = CacheStategy.None): Promise {\n\n let headers: any = {};\n if (auth) {\n let authData = await this.getAuthenticationToken();\n if (authData) {\n headers['Authorization'] = 'Bearer ' + authData.access_token;\n }\n }\n if (json) headers['Content-Type'] = 'application/json';\n\n switch (cacheStrategy) {\n case CacheStategy.NetworkFirst: headers['X-Strategy'] = 'networkFirst'; break;\n case CacheStategy.CacheFirst: headers['X-Strategy'] = 'cacheFirst'; break;\n case CacheStategy.None:\n default: break;\n }\n\n if (this.OnHeadersPreparing) this.OnHeadersPreparing(headers);\n return headers;\n }\n\n protected static _token: AuthToken | null;\n\n /// ---------------------------------------------------------------------------- ///\n /// ATTENZIONE ///\n /// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n /// ---------------------------------------------------------------------------- ///\n protected getAuthenticationToken(): AuthToken {\n return JSON.parse(localStorage.getItem(\"authorizationData\"))\n }\n}\n\nexport interface OnErrorDelegate { (data: DataResponse): void; }\ninterface OnHeadersPreparingDelegate { (headers: Headers): void; }\n\n/// ---------------------------------------------------------------------------- ///\n/// ATTENZIONE ///\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n/// ---------------------------------------------------------------------------- ///\nexport interface AuthToken {\n access_token: string\n token_type: string\n expires_in: number\n refresh_token: string;\n expiration_date: number;\n}\n\n/// ---------------------------------------------------------------------------- ///\n/// ATTENZIONE ///\n/// VIETATO APPORTARE QUALSIASI MODIFICA A QUESTO METODO O CLASSE ///\n/// ---------------------------------------------------------------------------- ///\nexport interface DataResponse {\n status: number;\n statusText: string;\n data: any;\n}\n\n\n// const reISO = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*))(?:Z?|(\\+|-)([\\d|:]*))?$/;\nconst reISO = /(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+)|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d)|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d)/;\nconst reMsAjax = /^\\/Date\\((d|-|.*)\\)[\\/|\\\\]$/;\n\nexport function toDate(key: string, value: string) {\n if (typeof value === \"string\") {\n var a = reISO.exec(value);\n if (a) {\n if (value.indexOf(\"Z\") <= 0)\n return new Date(value + \"Z\");\n else\n return new Date(value);\n }\n a = reMsAjax.exec(value);\n if (a) {\n var b = a[1].split(/[-+,.]/);\n return new Date(b[0] ? +b[0] : 0 - +b[1]);\n }\n }\n return value;\n}\n","import { baseRestService } from \"@/services/_base/baseRestService\";\nimport settings from \"@/settings\";\nimport { store } from \"@/store\";\nimport { periodiFormativiStore } from \"../store/store\";\n\nclass PeriodoFormativoService extends baseRestService {\n constructor() {\n super();\n this.baseUrl = () => `${settings.baseUrl}/api`;\n }\n\n async Count(params?: periodoFormativo.queryParams): Promise {\n return await this.Get(`/periodo-formativo/count`, params);\n }\n\n async List(params?: periodoFormativo.queryParams): Promise {\n var result = await this.Get(\"/periodo-formativo\", params);\n if (!params) store.actions.periodiFormativi.setList(result);\n return result;\n }\n\n async Current(): Promise {\n var result = await this.Get(`/periodo-formativo/current`);\n store.actions.periodiFormativi.setCurrent(result);\n return result;\n }\n\n async Detail(id: string): Promise {\n return await this.Get(`/periodo-formativo/${id}`);\n }\n\n async Exist(item: periodoFormativo.exist): Promise {\n return await this.Post('/periodo-formativo/exists', item);\n }\n\n async Set(item: periodoFormativo.item): Promise {\n return await this.Post('/periodo-formativo', item);\n }\n\n async Remove(id: string) {\n return await this.Delete(`/periodo-formativo/${id}`);\n }\n\n async GetByDate(data: Date): Promise {\n return await this.Post('/periodo-formativo/getByDate', data);\n }\n\n async ChangeStatoToPubblicato(id: string) {\n return await this.Put(`/periodo-formativo/change-stato/pubblicato/${id}`, {});\n }\n\n async ChangeStatoToCorrente(nuovoCorrenteId: string, vecchioCorrenteId: string) {\n return await this.Put(`/periodo-formativo/change-stato/corrente/${nuovoCorrenteId}/${vecchioCorrenteId}`, {});\n }\n}\n\nexport const periodoFormativoService = new PeriodoFormativoService();"],"sourceRoot":""}