{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views lazy ^\\.\\/.*\\.vue$ namespace object","webpack:///./src/themes/kirjaclub/kc-logo.png","webpack:///./src/router.ts","webpack:///./src/services/restService.ts","webpack:///./src/components/AddUser.vue?9694","webpack:///./src/components/AddUser.vue?f517","webpack:///./src/components/AddUser.vue?ee7a","webpack:///./src/components/AddUser.vue","webpack:///./src/stores/admin-store.ts","webpack:///./src/stores/auth-store.ts","webpack:///./src/stores/user-store.ts","webpack:///./src/stores/group-store.ts","webpack:///./src/stores/app-store.ts","webpack:///./src/stores/store.ts","webpack:///./src/App.vue?0d57","webpack:///./src/themes/default/theme_default.ts","webpack:///./src/themes/kirjaclub/theme_kirjaclub.ts","webpack:///./src/App.vue?5dd0","webpack:///./src/App.vue?aea5","webpack:///./src/App.vue","webpack:///./src/plugins/vuetify.js","webpack:///./src/class.component-hooks.ts","webpack:///./src/filters.ts","webpack:///./src/main.ts","webpack:///./src/components/AutocompleteUser.vue?4e3a","webpack:///./src/components/AutocompleteUser.vue?a17d","webpack:///./src/components/AutocompleteUser.vue?b6de","webpack:///./src/components/AutocompleteUser.vue"],"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","map","webpackAsyncContext","req","ids","id","keys","EUserRoles","loadView","view","use","router","routes","path","component","meta","permissions","Admin","props","Owner","Member","beforeEach","to","from","next","state","app","initialized","dispatch","query","lang","commit","getters","redirect","fullPath","user","auth","profile","hasPermissions","userProfile","isAdmin","indexOf","isOwner","isMember","instance","a","interceptors","response","status","account","postForgotPassword","forgotPassword","url","post","postValidatePasswordResetCode","validateCode","postResetPassword","resetPassword","postLogin","login","postLogout","getProfile","cars","getCar","getCars","postNewCar","newCar","putCar","car","carNumber","put","postCarImage","files","headers","deleteCarImage","imageId","delete","getImageDetails","getBrands","contactInfo","postContactInfo","info","userId","putContactInfo","putSetMainContactInfo","getByUserId","deleteContactInfo","contactInfoId","contracts","getContracts","getContractDetails","createNewContract","newCarContract","catch","putEditContract","carContract","postContractDocuments","getDocumentDetails","deleteDocument","contractId","documentId","groups","getGroups","getGroupUserProfiles","postJoinGroup","postLeaveGroup","getAllGroupUserProfiles","members","getMembers","createMembership","membership","cancelMembership","memberNews","getPosts","postNewPost","putEditPost","postId","deletePost","ownerships","getOwners","getOwnershipHistory","postChangeOwnership","newOwner","putOwnershipHistoryItem","ownership","postOwnershipDocuments","deleteOwnershipDocument","ownershipId","getUserProfile","getProfiles","profileId","postImage","file","deleteImage","postUserProfile","deleteUserProfile","getUserProfileGroups","users","getUsers","getById","postCreateNewUser","getCarContracts","putUpdateUser","sharedDocuments","getSharedDocumentsDetails","addSharedDocument","deleteSharedDocument","shares","getShares","getShareHistory","getShareMembers","render","_vm","this","_h","$createElement","_c","_self","attrs","scopedSlots","_u","fn","ref","on","_g","outlined","text","_v","model","callback","$$v","dialog","expression","staticClass","formValid","rules","required","formData","$set","email","_e","$event","sendPost","staticRenderFns","counter","pattern","test","userName","isCompany","note","adminNote","address","postalcode","city","phoneNumber","restService","$store","$emit","shareHasMembers","default","components","VBtn","VCard","VCardTitle","VCheckbox","VCol","VContainer","VDialog","VFabTransition","VForm","VIcon","VRow","VTextField","adminState","adminGetters","allUsers","share","find","idTonumber","userDetails","u","getShare","adminMutations","setUsers","filter","sort","b","localeCompare","setShares","addUser","updateUser","findIndex","cancelShareMembership","cancelledMembership","shareNumber","memberEmail","memberName","addShareMembership","addedMembership","adminActions","root","adminStore","namespaced","actions","mutations","authState","authGetters","isAuthenticated","authMutations","setProfile","authActions","logout","unauthorizedRequest","rootState","route","currentRoute","replace","authStore","userState","profiles","userProfileGroups","userGetters","userMutations","setUserProfile","profileIndex","setProfiles","setUserProfileGroups","removeFromProfiles","userActions","deleteProfile","resetProfile","userStore","groupState","groupUsers","allGroupUsers","groupGetters","isInGroup","gu","userProfileId","isMemberOfGroup","groupId","profilesGroups","gup","fg","g","groupMutations","setGroups","setGroupUserProfiles","groupUserProfiles","setAllGroupUserProfiles","groupActions","joinGroup","userGroupProfile","userGroups","concat","leaveGroup","upg","allGroupUserProfiles","groupStore","initShareHasMembers","location","host","appState","loading","snackBar","show","color","appGetters","appMutations","setInitialized","setShareHasMembers","hasMembers","setLoading","isLoading","setSnackBar","setSnackBarShow","setSnackBarColor","setSnackBarText","setSnackBarTimeout","appActions","initializeApp","initializeStores","appStore","admin","group","store","Store","drawer","_l","item","index","_s","icon","label","stopPropagation","appBarTitle","staticStyle","selectedUser","directives","rawName","changeShareHasMembers","vuetifyTheme","primary","secondary","carIcon","showSelectShareHasMembers","itemText","some","propVal","toLowerCase","$router","$nextTick","assign","$vuetify","theme","themes","light","title","userDetailsText","items","immediate","AddUser","AutocompleteUser","VApp","VAppBar","VAppBarNavIcon","VContent","VDivider","VFooter","VImg","VList","VListItem","VListItemAction","VListItemContent","VListItemTitle","VNavigationDrawer","VProgressCircular","VSnackbar","VSpacer","VToolbarTitle","VToolbar","icons","iconfont","registerHooks","date","Date","toLocaleDateString","day","month","year","numeric","Number","Math","round","toComma","bytes","decimals","k","dm","sizes","floor","log","parseFloat","pow","toFixed","values","rangeObj","ranges","currentRange","format","numbers","join","reduce","stored","x","fullAddress","list","Boolean","config","productionTip","vuetify","h","$mount","iconsGroup","search","dense","filled","flat","soloInverted","allowOverflow","toLocaleLowerCase","VAutocomplete","VListItemIcon","VListItemSubtitle"],"mappings":"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","file":"js/app.19fff1a1.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/\" + ({\"about\":\"about\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\":\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\":\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue\":\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue\",\"view-CarContractDetails-vue\":\"view-CarContractDetails-vue\",\"view-CarDetails-vue\":\"view-CarDetails-vue\",\"view-Cars-vue~view-Contracts-vue~view-Members-vue~view-Shareholders-vue~view-Shares-vue\":\"view-Cars-vue~view-Contracts-vue~view-Members-vue~view-Shareholders-vue~view-Shares-vue\",\"view-Cars-vue\":\"view-Cars-vue\",\"view-Contracts-vue\":\"view-Contracts-vue\",\"view-Members-vue\":\"view-Members-vue\",\"view-ShareHistory-vue~view-Shareholders-vue~view-Shares-vue\":\"view-ShareHistory-vue~view-Shareholders-vue~view-Shares-vue\",\"view-Shareholders-vue\":\"view-Shareholders-vue\",\"view-Shares-vue\":\"view-Shares-vue\",\"view-ShareHistory-vue\":\"view-ShareHistory-vue\",\"view-UserDetails-vue\":\"view-UserDetails-vue\",\"view-ShareHolderDetails-vue\":\"view-ShareHolderDetails-vue\",\"view-ForgotPassword-vue\":\"view-ForgotPassword-vue\",\"view-Home-vue\":\"view-Home-vue\",\"view-Login-vue\":\"view-Login-vue\",\"view-MemberDetails-vue\":\"view-MemberDetails-vue\",\"view-News-vue\":\"view-News-vue\",\"view-ProfileDetails-vue\":\"view-ProfileDetails-vue\",\"view-Profiles-vue\":\"view-Profiles-vue\",\"view-ResetPassword-vue\":\"view-ResetPassword-vue\",\"view-SharedDocuments-vue\":\"view-SharedDocuments-vue\"}[chunkId]||chunkId) + \".\" + {\"about\":\"3612c0a9\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\":\"676a1cf6\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\":\"9f14e170\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue\":\"bd7751d8\",\"view-CarContractDetails-vue\":\"9f2a28fc\",\"view-CarDetails-vue\":\"bd69e348\",\"view-Cars-vue~view-Contracts-vue~view-Members-vue~view-Shareholders-vue~view-Shares-vue\":\"a4d81e94\",\"view-Cars-vue\":\"c6443337\",\"view-Contracts-vue\":\"2db2b648\",\"view-Members-vue\":\"24ca7891\",\"view-ShareHistory-vue~view-Shareholders-vue~view-Shares-vue\":\"baa52e61\",\"view-Shareholders-vue\":\"3d5f35ad\",\"view-Shares-vue\":\"05d4c15f\",\"view-ShareHistory-vue\":\"5d934add\",\"view-UserDetails-vue\":\"356414b8\",\"view-ShareHolderDetails-vue\":\"71b6ca88\",\"view-ForgotPassword-vue\":\"ab6cde44\",\"view-Home-vue\":\"23f81fab\",\"view-Login-vue\":\"827aca71\",\"view-MemberDetails-vue\":\"f3bbedc5\",\"view-News-vue\":\"c682f3c5\",\"view-ProfileDetails-vue\":\"e5641961\",\"view-Profiles-vue\":\"225edb96\",\"view-ResetPassword-vue\":\"ce706d1d\",\"view-SharedDocuments-vue\":\"f09e76ac\"}[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 = {\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\":1,\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\":1,\"view-CarContractDetails-vue\":1,\"view-CarDetails-vue\":1,\"view-Cars-vue\":1,\"view-Contracts-vue\":1,\"view-ShareHistory-vue~view-Shareholders-vue~view-Shares-vue\":1,\"view-ShareHistory-vue\":1,\"view-ForgotPassword-vue\":1,\"view-Login-vue\":1,\"view-ProfileDetails-vue\":1,\"view-Profiles-vue\":1,\"view-ResetPassword-vue\":1,\"view-SharedDocuments-vue\":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/\" + ({\"about\":\"about\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\":\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\":\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue\":\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue\",\"view-CarContractDetails-vue\":\"view-CarContractDetails-vue\",\"view-CarDetails-vue\":\"view-CarDetails-vue\",\"view-Cars-vue~view-Contracts-vue~view-Members-vue~view-Shareholders-vue~view-Shares-vue\":\"view-Cars-vue~view-Contracts-vue~view-Members-vue~view-Shareholders-vue~view-Shares-vue\",\"view-Cars-vue\":\"view-Cars-vue\",\"view-Contracts-vue\":\"view-Contracts-vue\",\"view-Members-vue\":\"view-Members-vue\",\"view-ShareHistory-vue~view-Shareholders-vue~view-Shares-vue\":\"view-ShareHistory-vue~view-Shareholders-vue~view-Shares-vue\",\"view-Shareholders-vue\":\"view-Shareholders-vue\",\"view-Shares-vue\":\"view-Shares-vue\",\"view-ShareHistory-vue\":\"view-ShareHistory-vue\",\"view-UserDetails-vue\":\"view-UserDetails-vue\",\"view-ShareHolderDetails-vue\":\"view-ShareHolderDetails-vue\",\"view-ForgotPassword-vue\":\"view-ForgotPassword-vue\",\"view-Home-vue\":\"view-Home-vue\",\"view-Login-vue\":\"view-Login-vue\",\"view-MemberDetails-vue\":\"view-MemberDetails-vue\",\"view-News-vue\":\"view-News-vue\",\"view-ProfileDetails-vue\":\"view-ProfileDetails-vue\",\"view-Profiles-vue\":\"view-Profiles-vue\",\"view-ResetPassword-vue\":\"view-ResetPassword-vue\",\"view-SharedDocuments-vue\":\"view-SharedDocuments-vue\"}[chunkId]||chunkId) + \".\" + {\"about\":\"31d6cfe0\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\":\"1d097a8a\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\":\"bd794d46\",\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue\":\"31d6cfe0\",\"view-CarContractDetails-vue\":\"8ce8e3fb\",\"view-CarDetails-vue\":\"ef74f6a5\",\"view-Cars-vue~view-Contracts-vue~view-Members-vue~view-Shareholders-vue~view-Shares-vue\":\"31d6cfe0\",\"view-Cars-vue\":\"255d2ca4\",\"view-Contracts-vue\":\"559607c5\",\"view-Members-vue\":\"31d6cfe0\",\"view-ShareHistory-vue~view-Shareholders-vue~view-Shares-vue\":\"e2d0c12c\",\"view-Shareholders-vue\":\"31d6cfe0\",\"view-Shares-vue\":\"31d6cfe0\",\"view-ShareHistory-vue\":\"570f3428\",\"view-UserDetails-vue\":\"31d6cfe0\",\"view-ShareHolderDetails-vue\":\"31d6cfe0\",\"view-ForgotPassword-vue\":\"05668778\",\"view-Home-vue\":\"31d6cfe0\",\"view-Login-vue\":\"05668778\",\"view-MemberDetails-vue\":\"31d6cfe0\",\"view-News-vue\":\"31d6cfe0\",\"view-ProfileDetails-vue\":\"82f9e12e\",\"view-Profiles-vue\":\"4aa080eb\",\"view-ResetPassword-vue\":\"05668778\",\"view-SharedDocuments-vue\":\"82f9e12e\"}[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","var map = {\n\t\"./About.vue\": [\n\t\t\"f820\",\n\t\t\"about\"\n\t],\n\t\"./CarContractDetails.vue\": [\n\t\t\"c1b7\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue\",\n\t\t\"view-CarContractDetails-vue\"\n\t],\n\t\"./CarDetails.vue\": [\n\t\t\"3a2e\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue\",\n\t\t\"view-CarDetails-vue\"\n\t],\n\t\"./Cars.vue\": [\n\t\t\"519f\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\",\n\t\t\"view-Cars-vue~view-Contracts-vue~view-Members-vue~view-Shareholders-vue~view-Shares-vue\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue\",\n\t\t\"view-Cars-vue\"\n\t],\n\t\"./Contracts.vue\": [\n\t\t\"faaa\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\",\n\t\t\"view-Cars-vue~view-Contracts-vue~view-Members-vue~view-Shareholders-vue~view-Shares-vue\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue\",\n\t\t\"view-Contracts-vue\"\n\t],\n\t\"./ForgotPassword.vue\": [\n\t\t\"f243\",\n\t\t\"view-ForgotPassword-vue\"\n\t],\n\t\"./Home.vue\": [\n\t\t\"bb51\",\n\t\t\"view-Home-vue\"\n\t],\n\t\"./Login.vue\": [\n\t\t\"a55b\",\n\t\t\"view-Login-vue\"\n\t],\n\t\"./MemberDetails.vue\": [\n\t\t\"d959\",\n\t\t\"view-MemberDetails-vue\"\n\t],\n\t\"./Members.vue\": [\n\t\t\"69dc\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\",\n\t\t\"view-Cars-vue~view-Contracts-vue~view-Members-vue~view-Shareholders-vue~view-Shares-vue\",\n\t\t\"view-Members-vue\"\n\t],\n\t\"./News.vue\": [\n\t\t\"a2f9\",\n\t\t\"view-News-vue\"\n\t],\n\t\"./ProfileDetails.vue\": [\n\t\t\"74dc\",\n\t\t\"view-ProfileDetails-vue\"\n\t],\n\t\"./Profiles.vue\": [\n\t\t\"88e6\",\n\t\t\"view-ProfileDetails-vue\",\n\t\t\"view-Profiles-vue\"\n\t],\n\t\"./ResetPassword.vue\": [\n\t\t\"0813\",\n\t\t\"view-ResetPassword-vue\"\n\t],\n\t\"./ShareHistory.vue\": [\n\t\t\"f5af\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\",\n\t\t\"view-ShareHistory-vue~view-Shareholders-vue~view-Shares-vue\",\n\t\t\"view-ShareHistory-vue\"\n\t],\n\t\"./ShareHolderDetails.vue\": [\n\t\t\"3571\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\n\t\t\"view-ShareHolderDetails-vue\"\n\t],\n\t\"./SharedDocuments.vue\": [\n\t\t\"25cd\",\n\t\t\"view-SharedDocuments-vue\"\n\t],\n\t\"./Shareholders.vue\": [\n\t\t\"8fb7\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\",\n\t\t\"view-Cars-vue~view-Contracts-vue~view-Members-vue~view-Shareholders-vue~view-Shares-vue\",\n\t\t\"view-ShareHistory-vue~view-Shareholders-vue~view-Shares-vue\",\n\t\t\"view-Shareholders-vue\"\n\t],\n\t\"./Shares.vue\": [\n\t\t\"dc3e\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\",\n\t\t\"view-Cars-vue~view-Contracts-vue~view-Members-vue~view-Shareholders-vue~view-Shares-vue\",\n\t\t\"view-ShareHistory-vue~view-Shareholders-vue~view-Shares-vue\",\n\t\t\"view-Shares-vue\"\n\t],\n\t\"./UserDetails.vue\": [\n\t\t\"7c87\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~4edf65ab\",\n\t\t\"view-CarContractDetails-vue~view-CarDetails-vue~view-Cars-vue~view-Contracts-vue~view-Members-vue~vi~64f43c39\",\n\t\t\"view-UserDetails-vue\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"1a5d\";\nmodule.exports = webpackAsyncContext;","module.exports = __webpack_public_path__ + \"img/kc-logo.4128c5cf.png\";","import Vue from 'vue';\r\nimport Router from 'vue-router';\r\nimport store from './stores/store';\r\n\r\nVue.use(Router);\r\n\r\nfunction loadView(view: string) {\r\n return () => import(/* webpackChunkName: \"view-[request]\" */ `@/views/${view}.vue`);\r\n}\r\n\r\nenum EUserRoles {\r\n Unknown,\r\n Admin,\r\n Owner,\r\n Member,\r\n}\r\n\r\nconst router = new Router({\r\n mode: 'history',\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'Home',\r\n component: loadView('Shares'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin ],\r\n }\r\n },\r\n {\r\n path: '/about',\r\n name: 'about',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () =>\r\n import(/* webpackChunkName: \"about\" */ './views/About.vue')\r\n },\r\n {\r\n path: '/Login',\r\n name: 'Login',\r\n component: loadView('Login'),\r\n },\r\n {\r\n path: '/UserDetails/:Id',\r\n name: 'UserDetails',\r\n component: loadView('UserDetails'),\r\n props: true,\r\n meta: {\r\n permissions: [ EUserRoles.Admin, EUserRoles.Owner, EUserRoles.Member ],\r\n }\r\n },\r\n {\r\n path: '/Shares',\r\n name: 'Shares',\r\n component: loadView('Shares'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin ],\r\n },\r\n },\r\n {\r\n path: '/Share/:Id',\r\n name: 'ShareHistory',\r\n component: loadView('ShareHistory'),\r\n props: true,\r\n meta: {\r\n permissions: [ EUserRoles.Admin ],\r\n },\r\n },\r\n {\r\n path: '/Members',\r\n name: 'Members',\r\n component: loadView('Members'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin ],\r\n },\r\n },\r\n {\r\n path: '/Members/:Id',\r\n name: 'MemberDetails',\r\n component: loadView('MemberDetails'),\r\n meta: {\r\n permissions: [EUserRoles.Admin, EUserRoles.Owner, EUserRoles.Member ],\r\n },\r\n },\r\n\r\n {\r\n path: '/Shareholders',\r\n name: 'Shareholders',\r\n component: loadView('Shareholders'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin ],\r\n },\r\n },\r\n {\r\n path: '/Shareholders/:Id',\r\n name: 'ShareholderDetails',\r\n component: loadView('ShareholderDetails'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin, EUserRoles.Owner],\r\n }\r\n },\r\n {\r\n path: '/Cars',\r\n name: 'Cars',\r\n component: loadView('Cars'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin ],\r\n },\r\n },\r\n {\r\n path: '/Cars/:Id',\r\n name: 'CarDetails',\r\n component: loadView('CarDetails'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin ],\r\n },\r\n },\r\n {\r\n path: '/Contracts',\r\n name: 'Contracts',\r\n component: loadView('Contracts'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin ],\r\n }\r\n },\r\n {\r\n path: '/Contracts/:CarNumber/:Id?',\r\n name: 'CarContractDetails',\r\n component: loadView('CarContractDetails'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin ],\r\n }\r\n },\r\n {\r\n path: '/Profile',\r\n name: 'ProfileDetails',\r\n component: loadView('ProfileDetails'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin, EUserRoles.Owner, EUserRoles.Member ],\r\n },\r\n },\r\n {\r\n path: '/Profiles',\r\n name: 'Profiles',\r\n component: loadView('Profiles'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin, EUserRoles.Owner, EUserRoles.Member ],\r\n },\r\n },\r\n {\r\n path: '/News',\r\n name: 'News',\r\n component: loadView('News'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin, EUserRoles.Owner, EUserRoles.Member ],\r\n },\r\n },\r\n {\r\n path: '/SharedDocuments',\r\n name: 'SharedDocuments',\r\n component: loadView('SharedDocuments'),\r\n meta: {\r\n permissions: [ EUserRoles.Admin, EUserRoles.Owner, EUserRoles.Member ],\r\n },\r\n },\r\n {\r\n path: '/ForgotPassword',\r\n name: 'ForgotPassword',\r\n component: loadView('ForgotPassword'),\r\n },\r\n {\r\n path: '/NewUser',\r\n name: 'NewUser',\r\n component: loadView('ForgotPassword'),\r\n },\r\n {\r\n path: '/ResetPassword',\r\n name: 'ResetPassword',\r\n component: loadView('ResetPassword'),\r\n },\r\n ]\r\n});\r\n\r\nrouter.beforeEach(async (to, from, next) => {\r\n // // If App is not initialized, initialize\r\n // // Used for refreshes\r\n if (from.name === null && !store.state.app.initialized) {\r\n await store.dispatch('app/initializeApp');\r\n }\r\n\r\n // Set correct locale if url contains lang=FI\r\n if (to.query.lang) {\r\n store.commit('app/changeLocale', to.query.lang);\r\n }\r\n // Redirect to login is user is not logged in\r\n if (to.name !== 'Login' && !store.getters['auth/isAuthenticated']) {\r\n if (to.name === 'ForgotPassword' || to.name === 'ResetPassword' || to.name === 'NewUser') {\r\n next();\r\n } else {\r\n next({\r\n name: 'Login',\r\n query: { redirect: to.fullPath },\r\n });\r\n }\r\n }\r\n\r\n if (to.path === '/Logout') {\r\n await store.dispatch('auth/logout');\r\n next({ name: 'Login' });\r\n }\r\n\r\n // TODO: Remove hack, make smarter.\r\n if (to.meta.permissions) {\r\n const user = store.state.auth.profile;\r\n const hasPermissions = (userProfile: IUserAuthProfile) => {\r\n if (userProfile.isAdmin && to.meta.permissions.indexOf(EUserRoles.Admin) >= 0) {\r\n return true;\r\n }\r\n if (userProfile.isOwner && to.meta.permissions.indexOf(EUserRoles.Owner) >= 0) {\r\n return true;\r\n }\r\n if (userProfile.isMember && to.meta.permissions.indexOf(EUserRoles.Member) >= 0) {\r\n return true;\r\n }\r\n };\r\n if (user && !hasPermissions(user)) {\r\n next({ name: 'News' });\r\n }\r\n }\r\n\r\n next();\r\n});\r\n\r\nexport default router;\r\n","import axios from 'axios';\r\nimport store from '@/stores/store';\r\n\r\nlet instance = axios.create();\r\nif (process.env.NODE_ENV === 'development') {\r\n instance = axios.create({\r\n withCredentials: true,\r\n baseURL: process.env.VUE_APP_API_HOST,\r\n });\r\n}\r\n\r\ninstance.interceptors.response.use(\r\n (response: any) => {\r\n return response;\r\n },\r\n (err: any) => {\r\n if (err.response) {\r\n if (err.response.status === 400) {\r\n // BadRequest\r\n }\r\n if (err.response.status === 401) {\r\n store.dispatch('auth/unauthorizedRequest');\r\n }\r\n if (err.response.status === 403) {\r\n store.dispatch('auth/unauthorizedRequest');\r\n }\r\n }\r\n\r\n return Promise.reject(err.response);\r\n }\r\n);\r\n\r\nexport default {\r\n account: {\r\n async postForgotPassword(forgotPassword: IForgotPassword) {\r\n const url = `/api/account/password/forgot`;\r\n const result = await instance.post(url, forgotPassword);\r\n return result.data as any;\r\n },\r\n async postValidatePasswordResetCode(validateCode: IResetPassword) {\r\n const url = `/api/account/password/reset/validate`;\r\n const result = await instance.post(url, validateCode);\r\n return result.data as IResetPassword;\r\n },\r\n async postResetPassword(resetPassword: IResetPassword) {\r\n const url = `/api/account/password/reset`;\r\n const result = await instance.post(url, resetPassword);\r\n return result.data as any;\r\n },\r\n },\r\n auth: {\r\n async postLogin(login: ILoginInformation) {\r\n const url = `/api/account/login`;\r\n const result = await instance.post(url, login);\r\n return result.data as IUserAuthProfile;\r\n },\r\n async postLogout() {\r\n const url = `/api/account/logout`;\r\n const result = await instance.post(url);\r\n return result.data as any;\r\n },\r\n async getProfile() {\r\n const url = `/api/account/profile`;\r\n const result = await instance.get(url);\r\n return result.data as IUserAuthProfile;\r\n },\r\n },\r\n cars: {\r\n async getCar(id: number) {\r\n const url = `/api/car/${id}`;\r\n const result = await instance.get(url);\r\n return result.data as INewCar;\r\n },\r\n\r\n async getCars() {\r\n const url = '/api/car';\r\n const result = await instance.get(url);\r\n return result.data as INewCar[];\r\n },\r\n\r\n async postNewCar(newCar: INewCar) {\r\n const url = '/api/car';\r\n const result = await instance.post(url, newCar);\r\n return result.data as INewCar;\r\n },\r\n\r\n async putCar(car: INewCar) {\r\n const url = `/api/car/${car.carNumber}`;\r\n const result = await instance.put(url, car);\r\n return result.data as INewCar;\r\n },\r\n\r\n async postCarImage(id: number, files: FormData) {\r\n const url = `/api/car/${id}/image`;\r\n const result = await instance.post(url, files, { headers: { 'Content-Type': 'multipart/form-data'} } );\r\n return result.data;\r\n },\r\n\r\n async deleteCarImage(id: number, imageId: number) {\r\n const url = `/api/car/${id}/image/${imageId}`;\r\n const result = await instance.delete(url);\r\n return result.data as IDocumentDetails[];\r\n },\r\n\r\n async getImageDetails(id: number) {\r\n const url = `/api/car/${id}/image`;\r\n const result = await instance.get(url);\r\n return result.data as IDocumentDetails[];\r\n },\r\n\r\n async getBrands() {\r\n const url = '/api/car/brands';\r\n const result = await instance.get(url);\r\n return result.data;\r\n },\r\n },\r\n contactInfo: {\r\n async postContactInfo(info: IContactInfo) {\r\n const url = `/api/user/${info.userId}/contactinfo`;\r\n const result = await instance.post(url, info);\r\n return result.data as IContactInfo;\r\n },\r\n async putContactInfo(info: IContactInfo) {\r\n const url = `/api/user/${info.id}/contactinfo`;\r\n const result = await instance.put(url, info);\r\n return result.data as IContactInfo;\r\n },\r\n\r\n async putSetMainContactInfo(info: IContactInfo) {\r\n const url = `/api/user/${info.userId}/mainContact`;\r\n const result = await instance.put(url, info);\r\n return result.data as IContactInfo[];\r\n },\r\n\r\n async getByUserId(id: string) {\r\n const url = `/api/user/${id}/contactinfo`;\r\n const result = await instance.get(url);\r\n return result.data as IContactInfo[];\r\n },\r\n\r\n async deleteContactInfo(userId: string, contactInfoId: number) {\r\n const url = `/api/user/${userId}/contactinfo/${contactInfoId}`;\r\n const result = await instance.delete(url);\r\n return result.data as IContactInfo;\r\n },\r\n },\r\n contracts: {\r\n async getContracts() {\r\n const url = '/api/carcontract';\r\n const result = await instance.get(url);\r\n return result.data as ICarContract[];\r\n },\r\n\r\n async getContractDetails(carNumber: number) {\r\n const url = `/api/carcontract/${carNumber}`;\r\n const result = await instance.get(url);\r\n return result.data as ICarContractDetails[];\r\n },\r\n\r\n async createNewContract(newCarContract: INewCarContract) {\r\n const url = `/api/carcontract`;\r\n const result = await instance.post(url, newCarContract).catch(error => {\r\n throw error;\r\n });\r\n return result.data as INewCarContract;\r\n },\r\n\r\n async putEditContract(carContract: INewCarContract) {\r\n const url = `/api/carcontract/${carContract.id}`;\r\n const result = await instance.put(url, carContract);\r\n return result.data as ICarContractDetails;\r\n },\r\n\r\n async postContractDocuments(id: number, files: FormData) {\r\n const url = `/api/carcontract/${id}/documents`;\r\n const result = await instance.post(url, files, { headers: { 'Content-Type': 'multipart/form-data'} });\r\n return result.data as IDocumentDetails[];\r\n },\r\n\r\n async getDocumentDetails(id: number) {\r\n const url = `/api/carcontract/${id}/documents`;\r\n const result = await instance.get(url);\r\n return result.data as IDocumentDetails[];\r\n },\r\n async deleteDocument(contractId: number, documentId: number) {\r\n const url = `/api/carcontract/${contractId}/documents/${documentId}`;\r\n const result = await instance.delete(url);\r\n return result.data as IDocumentDetails[];\r\n },\r\n },\r\n groups: {\r\n async getGroups() {\r\n const url = `/api/group`;\r\n const result = await instance.get(url);\r\n return result.data as IGroup[];\r\n },\r\n async getGroupUserProfiles(id: number) {\r\n const url = `/api/group/${id}/userProfiles`;\r\n const result = await instance.get(url);\r\n return result.data as IGroupUserProfile[];\r\n },\r\n async postJoinGroup(id: number, userProfile: IUserProfile) {\r\n const url = `/api/group/${id}/join`;\r\n const result = await instance.post(url, userProfile);\r\n return result.data as IGroupUserProfile[];\r\n },\r\n async postLeaveGroup(id: number, userProfile: IUserProfile) {\r\n const url = `/api/group/${id}/leave`;\r\n const result = await instance.post(url, userProfile);\r\n return result.data as IGroupUserProfile[];\r\n },\r\n async getAllGroupUserProfiles() {\r\n const url = `/api/group/userProfiles`;\r\n const result = await instance.get(url);\r\n return result.data as IGroupUserProfile[];\r\n },\r\n },\r\n members: {\r\n async getMembers() {\r\n const url = '/api/membership';\r\n const result = await instance.get(url);\r\n return result.data as IMember[];\r\n },\r\n\r\n async createMembership(membership: INewMember) {\r\n const url = `/api/membership/`;\r\n const result = await instance.post(url, membership);\r\n return result.data as IMember;\r\n },\r\n async cancelMembership(membership: IMember) {\r\n const url = `/api/membership/endMembership`;\r\n const result = await instance.put(url, membership);\r\n return result.data as IMember;\r\n }\r\n },\r\n memberNews: {\r\n async getPosts() {\r\n const url = `/api/memberNews`;\r\n const result = await instance.get(url);\r\n return result.data as IMemberNewsPost[];\r\n },\r\n async postNewPost(post: IMemberNewsPost) {\r\n const url = `/api/memberNews`;\r\n const result = await instance.post(url, post);\r\n return result.data as IMemberNewsPost;\r\n },\r\n async putEditPost(postId: number, post: IMemberNewsPost) {\r\n const url = `/api/memberNews/${postId}`;\r\n const result = await instance.put(url, post);\r\n return result.data as IMemberNewsPost;\r\n },\r\n async deletePost(postId: number) {\r\n const url = `/api/memberNews/${postId}`;\r\n const result = await instance.delete(url);\r\n return result.data as IMemberNewsPost;\r\n },\r\n },\r\n ownerships: {\r\n async getOwners() {\r\n const url = '/api/ownership';\r\n const result = await instance.get(url);\r\n return result.data as IOwnerListitem[];\r\n },\r\n\r\n async getOwnershipHistory(id: number) {\r\n const url = `/api/ownership/${id}`;\r\n const result = await instance.get(url);\r\n return result.data as IOwnershipHistoryItem;\r\n },\r\n\r\n async postChangeOwnership(newOwner: IOwnership) {\r\n const url = `/api/ownership/changeOwner`;\r\n const result = await instance.post(url, newOwner);\r\n return result.data as IShare;\r\n },\r\n async putOwnershipHistoryItem(ownership: IOwnershipHistoryItem) {\r\n const url = `/api/ownership/${ownership.id}`;\r\n const result = await instance.put(url, ownership);\r\n return result.data as IOwnershipHistoryItem;\r\n },\r\n\r\n async postOwnershipDocuments(id: number, files: FormData) {\r\n const url = `/api/ownership/${id}/documents`;\r\n const result = await instance.post(url, files, { headers: { 'Content-Type': 'multipart/form-data'} });\r\n return result.data as IDocumentDetails[];\r\n },\r\n\r\n async deleteOwnershipDocument(ownershipId: number, documentId: number) {\r\n const url = `/api/ownership/${ownershipId}/documents/${documentId}`;\r\n const result = await instance.delete(url);\r\n return result.data as IDocumentDetails[];\r\n },\r\n\r\n async getDocumentDetails(id: number) {\r\n const url = `/api/ownership/${id}/documents`;\r\n const result = await instance.get(url);\r\n return result.data as IDocumentDetails[];\r\n },\r\n },\r\n userProfile: {\r\n async getUserProfile(userId: string) {\r\n const url = `/api/profile/${userId}`;\r\n const result = await instance.get(url);\r\n return result.data as IUserProfile;\r\n },\r\n async getProfiles() {\r\n const url = `/api/profile`;\r\n const result = await instance.get(url);\r\n return result.data as IUserProfile[];\r\n },\r\n async getImageDetails(profileId: number) {\r\n const url = `/api/profile/${profileId}/image`;\r\n const result = await instance.get(url);\r\n return result.data as IDocumentDetails;\r\n },\r\n async postImage(profileId: number, file: FormData) {\r\n const url = `/api/profile/${profileId}/image`;\r\n const result = await instance.post(url, file, { headers: { 'Content-Type': 'multipart/form-data'} } );\r\n return result.data as IDocumentDetails;\r\n },\r\n async deleteImage(profileId: number, imageId: number) {\r\n const url = `/api/profile/${profileId}/image/${imageId}`;\r\n const result = await instance.delete(url);\r\n return result;\r\n },\r\n async postUserProfile(profile: IUserProfile) {\r\n const url = `/api/profile`;\r\n const result = await instance.post(url, profile);\r\n return result.data as IUserProfile;\r\n },\r\n async deleteUserProfile() {\r\n const url = `/api/profile`;\r\n const result = await instance.delete(url);\r\n return result.data as IUserProfile;\r\n },\r\n async getUserProfileGroups(profileId: number) {\r\n const url = `/api/profile/${profileId}/groupUserProfiles`;\r\n const result = await instance.get(url);\r\n return result.data as IGroupUserProfile[];\r\n },\r\n },\r\n users: {\r\n async getUsers() {\r\n const url = `/api/user`;\r\n const result = await instance.get(url);\r\n return result.data as IUser[];\r\n },\r\n async getById(id: string) {\r\n const url = `/api/user/${id}`;\r\n const result = await instance.get(url);\r\n return result.data as IUserDetails;\r\n },\r\n async postCreateNewUser(user: IUser) {\r\n const url = `/api/user`;\r\n const result = await instance.post(url, user);\r\n return result.data as IUser;\r\n },\r\n async getCarContracts(id: string) {\r\n const url = `/api/user/${id}/carcontracts`;\r\n const result = await instance.get(url);\r\n return result.data as ICarContract[];\r\n },\r\n async putUpdateUser(user: IUser) {\r\n const url = `/api/user/`;\r\n const result = await instance.put(url, user);\r\n return result.data as IUser;\r\n },\r\n },\r\n sharedDocuments: {\r\n async getSharedDocumentsDetails() {\r\n const url = `/api/sharedDocuments`;\r\n const result = await instance.get(url);\r\n return result.data as ISharedDocumentDetails[];\r\n },\r\n async addSharedDocument(document: any) {\r\n const url = `/api/sharedDocuments`;\r\n const result = await instance.post(url, document, { headers: { 'Content-Type': 'multipart/form-data' } });\r\n // const result = await instance.post(url, document);\r\n return result.data as ISharedDocumentDetails[];\r\n },\r\n async deleteSharedDocument(id: number) {\r\n const url = `/api/sharedDocuments/${id}`;\r\n const result = await instance.delete(url);\r\n return result.data as ISharedDocumentDetails[];\r\n },\r\n },\r\n shares: {\r\n async getShares() {\r\n const url = '/api/share';\r\n const result = await instance.get(url);\r\n return result.data as IShare[];\r\n },\r\n async getShareHistory(id: number) {\r\n const url = `/api/share/${id}/history`;\r\n const result = await instance.get(url);\r\n return result.data as IOwnershipHistoryItem[];\r\n },\r\n async getShareMembers(id: number) {\r\n const url = `/api/share/${id}/members`;\r\n const result = await instance.get(url);\r\n return result.data as IMember[];\r\n },\r\n },\r\n};\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"750px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-fab-transition',[_c('v-btn',_vm._g({attrs:{\"outlined\":_vm.outlined,\"text\":_vm.text}},on),[_c('v-icon',[_vm._v(\"mdi-plus\")]),_vm._v(\" Lisää Käyttäjä\\n \")],1)],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-col',[_c('v-card-title',[_c('span',{staticClass:\"headline\"},[_vm._v(\"Uusi Käyttäjä\")])]),_c('v-form',{model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Nimi *\",\"rules\":[_vm.rules.required]},model:{value:(_vm.formData.name),callback:function ($$v) {_vm.$set(_vm.formData, \"name\", $$v)},expression:\"formData.name\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Email *\",\"rules\":[_vm.rules.email]},model:{value:(_vm.formData.email),callback:function ($$v) {_vm.$set(_vm.formData, \"email\", $$v)},expression:\"formData.email\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Syntymäaika\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Osoite\"},model:{value:(_vm.formData.address),callback:function ($$v) {_vm.$set(_vm.formData, \"address\", $$v)},expression:\"formData.address\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Postinumero\"},model:{value:(_vm.formData.postalcode),callback:function ($$v) {_vm.$set(_vm.formData, \"postalcode\", $$v)},expression:\"formData.postalcode\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Kaupunki\"},model:{value:(_vm.formData.city),callback:function ($$v) {_vm.$set(_vm.formData, \"city\", $$v)},expression:\"formData.city\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Puhelinnumero\"},model:{value:(_vm.formData.phonenumber),callback:function ($$v) {_vm.$set(_vm.formData, \"phonenumber\", $$v)},expression:\"formData.phonenumber\"}})],1)],1),(_vm.shareHasMembers)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Lokero\"},model:{value:(_vm.formData.note),callback:function ($$v) {_vm.$set(_vm.formData, \"note\", $$v)},expression:\"formData.note\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Lisätieto\"},model:{value:(_vm.formData.adminNote),callback:function ($$v) {_vm.$set(_vm.formData, \"adminNote\", $$v)},expression:\"formData.adminNote\"}})],1)],1):_vm._e(),(_vm.showBankingInformation)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":\"Yritys\"},model:{value:(_vm.formData.isCompany),callback:function ($$v) {_vm.$set(_vm.formData, \"isCompany\", $$v)},expression:\"formData.isCompany\"}})],1)],1),_c('h3',[_vm._v(\"Pankkitiedot\")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Y-Tunnus\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Pankkiyhteys\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"IBAN\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Viitenumero\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":\"Ennakkoperintärekisteri\"}})],1)],1)],1):_vm._e()],1)],1),_c('v-btn',{on:{\"click\":function($event){_vm.dialog = false}}},[_vm._v(\"Sulje\")]),_c('v-btn',{attrs:{\"disabled\":!_vm.formValid || !!_vm.user},on:{\"click\":function($event){return _vm.sendPost()}}},[_vm._v(\"Luo Käyttäjä\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Prop, Component } from 'vue-property-decorator';\r\nimport DatePicker from '../components/DatePicker.vue';\r\nimport restService from '../services/restService';\r\n\r\n@Component({\r\n components: {\r\n // DatePicker,\r\n }\r\n})\r\nexport default class AddUser extends Vue {\r\n dialog = false;\r\n formValid = false;\r\n user: IUser | null = null;\r\n rules = {\r\n required: (value: string) => !!value || 'Tämä on pakollinen kenttä',\r\n counter: (value: string) => value.length <= 20 || 'Max 20 characters',\r\n email: (value: string) => {\r\n const pattern = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return pattern.test(value) || '';\r\n }\r\n };\r\n\r\n formData: IUser = {\r\n id: '',\r\n name: '',\r\n userName: '',\r\n email: '',\r\n isCompany: false,\r\n note: '',\r\n adminNote: '',\r\n address: '',\r\n postalcode: '',\r\n city: '',\r\n phoneNumber: ''\r\n };\r\n\r\n @Prop({ default: false }) private text!: boolean;\r\n @Prop({ default: false }) private outlined!: boolean;\r\n\r\n // startDate = new Date().toISOString().substr(0, 10);\r\n // endDate = new Date(new Date().getFullYear(), 1, 1)\r\n // .toISOString()\r\n // .substr(0, 10);\r\n\r\n get showBankingInformation() {\r\n return !this.$store.state.app.shareHasMembers;\r\n }\r\n\r\n get shareHasMembers() {\r\n return this.$store.getters['app/shareHasMembers'];\r\n }\r\n\r\n async sendPost() {\r\n this.user = await restService.users.postCreateNewUser(this.formData);\r\n this.$store.commit('admin/addUser', this.user);\r\n this.$emit('input', this.user);\r\n this.dialog = false;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddUser.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddUser.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddUser.vue?vue&type=template&id=08757770&\"\nimport script from \"./AddUser.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddUser.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VFabTransition } from 'vuetify/lib/components/transitions';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VCheckbox,VCol,VContainer,VDialog,VFabTransition,VForm,VIcon,VRow,VTextField})\n","import { Module } from 'vuex';\r\nimport { IRootState } from './store';\r\nimport restService from '@/services/restService';\r\nimport userStore from './user-store';\r\n\r\nexport interface IAdminState {\r\n users: IUser[];\r\n shares: IShare[];\r\n}\r\n\r\nconst adminState: IAdminState = {\r\n users: [],\r\n shares: [],\r\n};\r\n\r\nconst adminGetters = {\r\n allUsers: (state: IAdminState) => state.users,\r\n getShares: (state: IAdminState) => (id: number) => {\r\n const shares = state.shares;\r\n const share = shares.find(s => {\r\n const idTonumber = +id;\r\n return s.id === idTonumber;\r\n });\r\n return share;\r\n },\r\n userDetails: (state: IAdminState) => (id: string) => {\r\n const user = state.users.find((u: IUser) => u.id === id);\r\n return user;\r\n },\r\n getShare: (state: IAdminState) => (id: number) => state.shares.find(s => s.id === id)\r\n};\r\n\r\nconst adminMutations = {\r\n setUsers: (state: IAdminState, users: IUser[]) => state.users = users\r\n .filter(u => u.name)\r\n .sort((a, b) => a.name.localeCompare(b.name)),\r\n\r\n setShares: (state: IAdminState, shares: IShare[]) => state.shares = shares,\r\n addUser: (state: IAdminState, user: IUser) => state.users.push(user),\r\n updateUser: (state: IAdminState, user: IUser) =>\r\n state.users.splice(state.users.findIndex(u => u.id === user.id), 1, user),\r\n cancelShareMembership: (state: IAdminState, cancelledMembership: IMember) => {\r\n const share = state.shares.find(s => s.id === cancelledMembership.shareNumber);\r\n if (share) {\r\n share.memberEmail = '';\r\n share.memberName = '';\r\n }\r\n },\r\n addShareMembership: (state: IAdminState, addedMembership: IMember) => {\r\n const share = state.shares.find(s => s.id === addedMembership.shareNumber);\r\n if (share) {\r\n share.memberEmail = addedMembership.email;\r\n share.memberName = addedMembership.name;\r\n }\r\n }\r\n};\r\n\r\nconst adminActions = {\r\n async getShares({ commit }: { commit: any }) {\r\n commit('app/setLoading', true, {root: true});\r\n const shares = await restService.shares.getShares();\r\n commit('setShares', shares);\r\n commit('app/setLoading', false, {root: true});\r\n },\r\n async getUsers({ commit }: { commit: any} ) {\r\n const users = await restService.users.getUsers();\r\n commit('setUsers', users);\r\n },\r\n};\r\n\r\nconst adminStore: Module = {\r\n namespaced: true,\r\n state: adminState,\r\n getters: adminGetters,\r\n actions: adminActions,\r\n mutations: adminMutations,\r\n};\r\nexport default adminStore;\r\n","import { Module } from 'vuex';\r\nimport { IRootState } from './store';\r\nimport restService from '@/services/restService';\r\nimport router from '../router';\r\n\r\nexport interface IAuthState {\r\n profile: IUserAuthProfile | null;\r\n}\r\n\r\nconst authState: IAuthState = {\r\n profile: null,\r\n};\r\n\r\nconst authGetters = {\r\n isAuthenticated: (state: IAuthState) => state.profile ? true : false,\r\n isAdmin: (state: IAuthState) => {\r\n if (state.profile) {\r\n return state.profile.isAdmin;\r\n }\r\n return false;\r\n }\r\n};\r\n\r\nconst authMutations = {\r\n setProfile: (state: IAuthState, profile: IUserAuthProfile) => state.profile = profile && profile.id ? profile : null,\r\n};\r\n\r\nconst authActions = {\r\n async login({ commit }: { commit: any }, login: ILoginInformation) {\r\n const user: IUserAuthProfile = await restService.auth.postLogin(login);\r\n commit('setProfile', user);\r\n },\r\n async logout({ commit }: { commit: any }) {\r\n const user = await restService.auth.postLogout();\r\n commit('setProfile', null);\r\n },\r\n async getProfile({ commit, state }: { commit: any, state: IAuthState }) {\r\n if (!state.profile) {\r\n const profile = await restService.auth.getProfile();\r\n commit('setProfile', profile);\r\n }\r\n },\r\n async unauthorizedRequest({ dispatch, commit, rootState }: { dispatch: any, commit: any, rootState: IRootState }) {\r\n commit('setProfile', null);\r\n commit('admin/setUsers', [], { root: true });\r\n commit('admin/setShares', [], { root: true });\r\n commit('app/setInitialized', true, { root: true });\r\n const route = router.currentRoute.fullPath;\r\n router.push({ name: 'Login'}).then(() => router.replace({ path: route }));\r\n },\r\n};\r\n\r\nconst authStore: Module = {\r\n namespaced: true,\r\n state: authState,\r\n getters: authGetters,\r\n mutations: authMutations,\r\n actions: authActions,\r\n};\r\nexport default authStore;\r\n","import { Module } from 'vuex';\r\nimport store, { IRootState } from './store';\r\nimport restService from '@/services/restService';\r\n\r\nexport interface IUserState {\r\n userProfile: IUserProfile | null;\r\n profiles: IUserProfile[];\r\n userProfileGroups: IGroupUserProfile[];\r\n}\r\n\r\nconst userState: IUserState = {\r\n userProfile: null,\r\n profiles: [],\r\n userProfileGroups: [],\r\n};\r\n\r\nconst userGetters = {\r\n\r\n};\r\n\r\nconst userMutations = {\r\n setUserProfile: (state: IUserState, profile: IUserProfile) => {\r\n state.userProfile = profile;\r\n const profileIndex = state.profiles.findIndex(p => p.userId === profile.userId);\r\n profileIndex > -1 ? state.profiles.splice(profileIndex, 1, profile) : state.profiles.push(profile);\r\n },\r\n setProfiles: (state: IUserState, profiles: IUserProfile[]) => state.profiles = profiles,\r\n setUserProfileGroups: (state: IUserState, groups: IGroupUserProfile[]) => state.userProfileGroups = groups,\r\n removeFromProfiles: (state: IUserState, profile: IUserProfile) => {\r\n const profileIndex = state.profiles.findIndex(p => p.userId === profile.userId);\r\n if (profileIndex > -1) {\r\n state.profiles.splice(profileIndex, 1);\r\n }\r\n },\r\n};\r\n\r\nconst userActions = {\r\n async getProfiles({ commit }: {commit: any}) {\r\n const profiles = await restService.userProfile.getProfiles();\r\n commit('setProfiles', profiles);\r\n },\r\n async getUserProfile({ dispatch, commit, rootState }: { dispatch: any, commit: any, rootState: IRootState }) {\r\n if (rootState.auth.profile) {\r\n const userProfile = await restService.userProfile.getUserProfile(rootState.auth.profile.id);\r\n commit('setUserProfile', userProfile);\r\n await dispatch('getUserProfileGroups');\r\n }\r\n },\r\n async getUserProfileGroups({ commit, rootState }: { commit: any, rootState: IRootState }) {\r\n if (rootState.user.userProfile) {\r\n const groups = await restService.userProfile.getUserProfileGroups(rootState.user.userProfile.id);\r\n commit('setUserProfileGroups', groups);\r\n } else {\r\n commit('setUserProfileGroups', []);\r\n }\r\n },\r\n async deleteProfile({ commit }: { commit: any }) {\r\n const resetProfile = await restService.userProfile.deleteUserProfile();\r\n commit('setUserProfile', resetProfile);\r\n commit('removeFromProfiles', store.state.user.userProfile);\r\n },\r\n};\r\n\r\nconst userStore: Module = {\r\n namespaced: true,\r\n state: userState,\r\n getters: userGetters,\r\n mutations: userMutations,\r\n actions: userActions,\r\n};\r\nexport default userStore;\r\n","import { Module } from 'vuex';\r\nimport { IRootState } from './store';\r\nimport restService from '@/services/restService';\r\n\r\nexport interface IGroupState {\r\n groups: IGroup[];\r\n groupUsers: IGroupUserProfile[];\r\n allGroupUsers: IGroupUserProfile[];\r\n}\r\n\r\nconst groupState: IGroupState = {\r\n groups: [],\r\n groupUsers: [],\r\n allGroupUsers: [],\r\n};\r\n\r\nconst groupGetters = {\r\n isInGroup: (state: IGroupState) => (id: number) => {\r\n return state.groupUsers.findIndex(gu => gu.userProfileId === id) > -1;\r\n },\r\n isMemberOfGroup: (state: IGroupState) => (userId: number, groupId: number) =>\r\n state.groupUsers.findIndex(gu => gu.userProfileId === userId && gu.groupId === groupId) > -1,\r\n profilesGroups: (state: IGroupState) => (profileId: number) =>\r\n state.allGroupUsers\r\n .filter(gup => gup.userProfileId === profileId)\r\n .map(fg => state.groups.find(g => g.id === fg.groupId )),\r\n};\r\n\r\nconst groupMutations = {\r\n setGroups: (state: IGroupState, groups: IGroup[]) => state.groups = groups,\r\n setGroupUserProfiles: (state: IGroupState, groupUserProfiles: IGroupUserProfile[]) => {\r\n state.groupUsers = groupUserProfiles;\r\n },\r\n setAllGroupUserProfiles: (state: IGroupState, groupUserProfiles: IGroupUserProfile[]) => {\r\n state.allGroupUsers = groupUserProfiles;\r\n },\r\n};\r\n\r\nconst groupActions = {\r\n async getGroups({ commit }: {commit: any}) {\r\n const groups = await restService.groups.getGroups();\r\n commit('setGroups', groups);\r\n },\r\n async getGroupUserProfiles({ commit }: { commit: any }, groupId: number) {\r\n commit('app/setLoading', true, { root: true });\r\n const groupUserProfiles = await restService.groups.getGroupUserProfiles(groupId);\r\n commit('setGroupUserProfiles', groupUserProfiles);\r\n commit('app/setLoading', false, { root: true });\r\n },\r\n async joinGroup({ commit, rootState }: { commit: any, rootState: IRootState }, groupId: number) {\r\n commit('app/setLoading', true, {root: true});\r\n if (rootState.user.userProfile) {\r\n const groupUserProfiles = await restService.groups.postJoinGroup(groupId, rootState.user.userProfile);\r\n const userGroupProfile = groupUserProfiles.filter(gup => gup.userProfileId === rootState.user.userProfile!.id);\r\n const userGroups = rootState.user.userProfileGroups.concat(userGroupProfile);\r\n commit('user/setUserProfileGroups', userGroups, { root: true });\r\n commit('setGroupUserProfiles', groupUserProfiles);\r\n }\r\n commit('app/setLoading', false, { root: true });\r\n },\r\n async leaveGroup({ commit, rootState }: { commit: any, rootState: IRootState }, groupId: number) {\r\n commit('app/setLoading', true, {root: true});\r\n if (rootState.user.userProfile) {\r\n const groupUserProfiles = await restService.groups.postLeaveGroup(groupId, rootState.user.userProfile);\r\n const userGroups = rootState.user.userProfileGroups.filter(upg => upg.groupId !== groupId);\r\n commit('user/setUserProfileGroups', userGroups, { root: true });\r\n commit('setGroupUserProfiles', groupUserProfiles);\r\n }\r\n commit('app/setLoading', false, { root: true });\r\n },\r\n async getAllGroupUserProfiles({ commit }: { commit: any }) {\r\n commit('app/setLoading', true, { root: true });\r\n const allGroupUserProfiles = await restService.groups.getAllGroupUserProfiles();\r\n commit('setAllGroupUserProfiles', allGroupUserProfiles);\r\n commit('app/setLoading', false, { root: true });\r\n },\r\n};\r\n\r\nconst groupStore: Module = {\r\n namespaced: true,\r\n state: groupState,\r\n getters: groupGetters,\r\n actions: groupActions,\r\n mutations: groupMutations,\r\n};\r\n\r\nexport default groupStore;\r\n","import { Module } from 'vuex';\r\nimport { IRootState } from './store';\r\n\r\nexport interface IAppState {\r\n initialized: boolean;\r\n shareHasMembers: boolean;\r\n loading: boolean;\r\n snackBar: ISnackBar;\r\n}\r\n\r\nlet initShareHasMembers = false;\r\n// Development setting\r\nif (process.env.NODE_ENV === 'development' || document.location.host.indexOf('localhost') > -1) {\r\n initShareHasMembers = true;\r\n}\r\n// Production setting\r\nif (document.location.host.indexOf('vantaantaksi') > -1) {\r\n initShareHasMembers = false;\r\n} else if (document.location.host.indexOf('kirjaclub') > -1) {\r\n initShareHasMembers = true;\r\n} else if (document.location.host.indexOf('kc-regit') > -1) {\r\n initShareHasMembers = true;\r\n} else if (document.location.host.indexOf('kc.8p') > -1) {\r\n initShareHasMembers = true;\r\n} else if (document.location.host.indexOf('kirja') > -1) {\r\n initShareHasMembers = true;\r\n}\r\n\r\nconst appState: IAppState = {\r\n initialized: false,\r\n shareHasMembers: initShareHasMembers,\r\n loading: false,\r\n snackBar: {\r\n show: false,\r\n text: '',\r\n color: 'info',\r\n timeout: 0,\r\n },\r\n};\r\n\r\nconst appGetters = {\r\n shareHasMembers: (state: IAppState) => {\r\n return state.shareHasMembers;\r\n },\r\n};\r\n\r\nconst appMutations = {\r\n setInitialized: (state: IAppState, initialized: boolean) => state.initialized = initialized,\r\n setShareHasMembers: (state: IAppState, hasMembers: boolean) => state.shareHasMembers = hasMembers,\r\n setLoading: (state: IAppState, isLoading: boolean) => state.loading = isLoading,\r\n setSnackBar: (state: IAppState, snackBar: ISnackBar) => state.snackBar = snackBar,\r\n setSnackBarShow: (state: IAppState, show: boolean) => state.snackBar.show = show,\r\n setSnackBarColor: (state: IAppState, color: string) => state.snackBar.color = color,\r\n setSnackBarText: (state: IAppState, text: string) => state.snackBar.text = text,\r\n setSnackBarTimeout: (state: IAppState, timeout: number) => state.snackBar.timeout = timeout,\r\n};\r\n\r\nconst appActions = {\r\n async initializeApp({ dispatch, commit, rootState }: { dispatch: any, commit: any, rootState: IRootState }) {\r\n commit('setLoading', true);\r\n commit('setInitialized', false);\r\n await dispatch('auth/getProfile', null, { root: true });\r\n if (rootState.auth.profile) {\r\n await dispatch('initializeStores');\r\n }\r\n commit('setInitialized', true);\r\n commit('setLoading', false);\r\n },\r\n async initializeStores({ dispatch, commit, rootState }: { dispatch: any, commit: any, rootState: IRootState }) {\r\n if (rootState.auth.profile) {\r\n\r\n await dispatch('admin/getShares', null, { root: true });\r\n\r\n if (rootState.auth.profile.isAdmin) {\r\n await dispatch('admin/getUsers', null, { root: true });\r\n }\r\n if (rootState.app.shareHasMembers) {\r\n await dispatch('user/getProfiles', null, { root: true });\r\n await dispatch('user/getUserProfile', null, { root: true });\r\n await dispatch('group/getGroups', null, { root: true });\r\n await dispatch('group/getAllGroupUserProfiles', null, { root: true });\r\n }\r\n }\r\n }\r\n};\r\n\r\nconst appStore: Module = {\r\n namespaced: true,\r\n state: appState,\r\n getters: appGetters,\r\n mutations: appMutations,\r\n actions: appActions,\r\n};\r\nexport default appStore;\r\n","import Vue from 'vue';\r\nimport Vuex, { Module, ModuleTree } from 'vuex';\r\nimport adminStore, { IAdminState } from './admin-store';\r\nimport authStore, { IAuthState } from './auth-store';\r\nimport userStore, { IUserState } from './user-store';\r\nimport groupStore, { IGroupState } from './group-store';\r\nimport appStore, { IAppState } from './app-store';\r\n\r\n\r\nVue.use(Vuex);\r\n\r\nexport interface IRootState {\r\n auth: IAuthState;\r\n app: IAppState;\r\n admin: IAdminState;\r\n user: IUserState;\r\n group: IGroupState;\r\n}\r\n\r\nconst modules: ModuleTree = {\r\n auth: authStore,\r\n app: appStore,\r\n admin: adminStore,\r\n user: userStore,\r\n group: groupStore,\r\n};\r\n\r\nconst store = new Vuex.Store({ modules });\r\n\r\nexport default store;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{attrs:{\"id\":\"inspire\"}},[_c('v-navigation-drawer',{attrs:{\"app\":\"\"},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-list',{attrs:{\"dense\":\"\"}},[_vm._l((_vm.menuItems),function(item,index){return _c('v-list-item',{key:index,attrs:{\"to\":item.to}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\" \"+_vm._s(item.icon)+\" \")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(item.label)+\" \")])],1)],1)}),_c('v-divider')],2)],1),_c('v-app-bar',{attrs:{\"app\":\"\",\"color\":\"primary\",\"dark\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){$event.stopPropagation();_vm.drawer = !_vm.drawer}}}),(_vm.shareHasMembers)?_c('v-img',{attrs:{\"src\":require('@/themes/kirjaclub/kc-logo.png'),\"alt\":\"kc-logo\",\"max-width\":\"40\"}}):_vm._e(),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.appBarTitle))]),_c('v-spacer'),(_vm.isAdmin)?_c('autocomplete-user',{staticStyle:{\"max-width\":\"450px\",\"margin-right\":\"5px\"},attrs:{\"users\":_vm.users,\"flat\":true,\"filled\":true,\"dense\":true},model:{value:(_vm.selectedUser),callback:function ($$v) {_vm.selectedUser=$$v},expression:\"selectedUser\"}}):_vm._e(),(_vm.isAdmin)?_c('add-user',{attrs:{\"text\":true}}):_vm._e(),(!_vm.isAdmin)?_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\",\"to\":\"/Profile\"}},[_c('v-icon',[_vm._v(\"mdi-account-box\")])],1):_vm._e()],1),_c('v-content',[(_vm.isLoading)?_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"justify-center\":\"\",\"column\":\"\",\"fill-height\":\"\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"xs\":\"12\"}},[_c('v-progress-circular',{attrs:{\"size\":70,\"width\":7,\"color\":\"primary\",\"indeterminate\":\"\"}}),_c('p',{staticClass:\"body-2 mt-3\"},[_vm._v(\"Ladataan tietoja...\")])],1)],1)],1):_vm._e(),_c('router-view',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isLoading),expression:\"!isLoading\"}]}),_c('v-snackbar',{attrs:{\"color\":_vm.snackBar.color,\"timeout\":_vm.snackBar.timeout,\"multi-line\":\"\"},model:{value:(_vm.snackBar.show),callback:function ($$v) {_vm.$set(_vm.snackBar, \"show\", $$v)},expression:\"snackBar.show\"}},[_vm._v(\" \\n \"+_vm._s(_vm.snackBar.text)+\" \"),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.$store.commit('app/setSnackBarShow', false)}}},[_vm._v(\"Sulje\")])],1)],1),_c('v-footer',{attrs:{\"color\":\"primary\",\"app\":\"\"}},[_c('span',{staticClass:\"white--text\"},[_vm._v(\"© 2020 \"),_c('a',{staticClass:\"white--text\",attrs:{\"href\":\"https://www.intoit.fi\",\"target\":\"_blank\"}},[_vm._v(\" Intoit Oy \")])]),_c('v-spacer'),(_vm.showSelectShareHasMembers)?_c('v-btn',{attrs:{\"icon\":\"\",\"x-small\":\"\"},on:{\"click\":_vm.changeShareHasMembers}},[_c('v-icon',[_vm._v(\"mdi-swap-horizontal-bold\")])],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ITheme from '../ITheme';\r\n\r\nexport default class ThemeDefault implements ITheme {\r\n vuetifyTheme: any = {\r\n primary: '#009999',\r\n };\r\n}\r\n","import ITheme from '../ITheme';\r\n\r\nexport default class ThemeKirjaclub implements ITheme {\r\n vuetifyTheme: any = {\r\n primary: '#212121',\r\n secondary: '#df9c20',\r\n };\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Prop, Component, Watch } from 'vue-property-decorator';\r\nimport AutocompleteUser from './components/AutocompleteUser.vue';\r\nimport AddUser from './components/AddUser.vue';\r\n\r\nimport ThemeDefault from '@/themes/default/theme_default';\r\nimport ThemeKirjaclub from '@/themes/kirjaclub/theme_kirjaclub';\r\n\r\n@Component({\r\n components: {\r\n AddUser,\r\n AutocompleteUser,\r\n }\r\n})\r\nexport default class App extends Vue {\r\n /*tslint:disable max-line-length*/\r\n drawer = null;\r\n selectedUser: IUser | null = null;\r\n carIcon: string = 'mdi-car-multiple';\r\n showSelectShareHasMembers: boolean = false;\r\n appBarTitle: string = 'Regit';\r\n\r\n get isAdmin() {\r\n return this.$store.getters['auth/isAdmin'];\r\n }\r\n\r\n get userId() {\r\n if (this.$store.state.auth.profile) {\r\n return this.$store.state.auth.profile.id;\r\n }\r\n return 0;\r\n }\r\n\r\n get isLoading() {\r\n return this.$store.state.app.loading;\r\n }\r\n\r\n get shareHasMembers() {\r\n return this.$store.getters['app/shareHasMembers'];\r\n }\r\n\r\n get menuItems() {\r\n const userDetailsText = this.shareHasMembers ? 'Omat tiedot' : 'Käyttäjätiedot';\r\n const items = [\r\n { label: 'Ajankohtaista', icon: 'mdi-text-box', to: '/News', show: this.$store.getters['auth/isAuthenticated'] && this.shareHasMembers },\r\n { label: 'Tiedostot', icon: 'mdi-file-download', to: '/SharedDocuments', show: this.$store.getters['auth/isAuthenticated'] && this.shareHasMembers },\r\n { label: 'Jäsenrekisteri', icon: 'mdi-card-account-details', to: '/Members', show: this.isAdmin },\r\n { label: userDetailsText, icon: 'mdi-card-account-details', to: `/UserDetails/${this.userId}`, show: !this.isAdmin && this.$store.getters['auth/isAuthenticated'] },\r\n { label: 'Osakkeet', icon: 'mdi-file', to: '/Shares', show: this.isAdmin },\r\n { label: 'Osakkaat', icon: 'mdi-folder-account', to: '/Shareholders', show: this.isAdmin },\r\n { label: 'Palvelusopimukset', icon: 'mdi-text-box-multiple', to: '/Contracts', show: this.isAdmin && !this.shareHasMembers },\r\n { label: 'Kalustoluettelo', icon: 'mdi-car-multiple', to: '/Cars', show: this.isAdmin && !this.shareHasMembers },\r\n { label: 'Jäsenprofiilit', icon: 'mdi-account-box-multiple', to: '/Profiles', show: this.$store.getters['auth/isAuthenticated'] && this.shareHasMembers },\r\n { label: 'Kirjaudu ulos', icon: 'mdi-logout-variant', to: '/Logout', show: true },\r\n ];\r\n return items.filter(i => i.show);\r\n }\r\n\r\n get initialized() {\r\n return this.$store.state.app.initialized;\r\n }\r\n get users() {\r\n const users = this.$store.getters['admin/allUsers'];\r\n return users;\r\n }\r\n\r\n get snackBar() {\r\n return this.$store.state.app.snackBar;\r\n }\r\n\r\n searchFilter(item: IUser, query: string, itemText: string) {\r\n return ['name', 'email', 'phoneNumber'].some(s => {\r\n const propVal = (item as any)[s];\r\n return (\r\n typeof propVal === 'string' && propVal.toLowerCase().indexOf(query.toLowerCase()) >= 0\r\n );\r\n });\r\n }\r\n\r\n @Watch('selectedUser')\r\n userSelected() {\r\n if (this.selectedUser) {\r\n const id = this.selectedUser.id;\r\n this.$router.push({ path: `/UserDetails/${id}` });\r\n this.$nextTick(() => this.selectedUser = null);\r\n }\r\n }\r\n\r\n // Quick hack to implement themes\r\n @Watch('shareHasMembers', { immediate: true }) onShareHasMembersChanged() {\r\n this.shareHasMembers\r\n ? Object.assign(this.$vuetify.theme.themes.light, new ThemeKirjaclub().vuetifyTheme)\r\n : Object.assign(this.$vuetify.theme.themes.light, new ThemeDefault().vuetifyTheme);\r\n\r\n document.title = this.shareHasMembers ? 'KC Intra' : 'Regit';\r\n this.appBarTitle = this.shareHasMembers ? 'Intra' : this.appBarTitle;\r\n }\r\n\r\n changeShareHasMembers() {\r\n this.$store.commit('app/setShareHasMembers', !this.shareHasMembers);\r\n }\r\n\r\n mounted() {\r\n this.showSelectShareHasMembers = process.env.NODE_ENV === 'development' || document.location.host.indexOf('localhost') > -1;\r\n }\r\n}\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/vuetify-loader/lib/loader.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/vuetify-loader/lib/loader.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=1e2568e0&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VContent } from 'vuetify/lib/components/VContent';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VApp,VAppBar,VAppBarNavIcon,VBtn,VCol,VContainer,VContent,VDivider,VFooter,VIcon,VImg,VList,VListItem,VListItemAction,VListItemContent,VListItemTitle,VNavigationDrawer,VProgressCircular,VRow,VSnackbar,VSpacer,VToolbarTitle})\n","import Vue from 'vue';\r\nimport Vuetify from 'vuetify/lib';\r\nVue.use(Vuetify);\r\nexport default new Vuetify({\r\n icons: {\r\n iconfont: 'mdi',\r\n },\r\n});\r\n//# sourceMappingURL=vuetify.js.map","import Component from 'vue-class-component';\r\n\r\n// Register the router hooks with their names\r\nComponent.registerHooks([\r\n 'beforeRouteEnter',\r\n 'beforeRouteLeave',\r\n 'beforeRouteUpdate', // for vue-router 2.2+\r\n]);\r\n","import Vue from 'vue';\r\nimport store from './stores/store';\r\n\r\n/** Global filters for Vue */\r\n\r\nVue.filter('date', (date: Date | string) => {\r\n if (!date) { return ''; }\r\n return new Date(date).toLocaleDateString('fi', {day: '2-digit', month: '2-digit', year: 'numeric'});\r\n});\r\n\r\nVue.filter('currency', (value: string | number) => {\r\n if (!value) { return ''; }\r\n const numeric = Number(Math.round(Number(value) * 100) / 100);\r\n const toComma = (numeric + '').replace('.', ',');\r\n return `${toComma} €`;\r\n});\r\n\r\nVue.filter('bytes', (value: string | number) => {\r\n if (!value) {return ''; }\r\n const bytes = Number(value);\r\n const decimals = 2;\r\n if (bytes === 0) { return '0 Bytes'; }\r\n\r\n const k = 1024;\r\n const dm = decimals < 0 ? 0 : decimals;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;\r\n});\r\n\r\nVue.filter('ranges', (values: number[]) => {\r\n const rangeObj: { ranges: string[], currentRange: number[] } = {ranges: [], currentRange: []};\r\n\r\n function format(numbers: number[]) {\r\n if (numbers.length > 2 ) {\r\n return `${numbers[0]}-${numbers[numbers.length - 1]}`;\r\n }\r\n return numbers.join(', ');\r\n }\r\n\r\n return [...values].sort((a, b) => a - b).reduce((stored, x, i) => {\r\n if (i === 0) {\r\n stored.currentRange.push(x);\r\n } else {\r\n if (x === stored.currentRange[stored.currentRange.length - 1] + 1) {\r\n stored.currentRange.push(x);\r\n } else {\r\n stored.ranges.push(format(stored.currentRange));\r\n stored.currentRange.length = 0;\r\n stored.currentRange.push(x);\r\n }\r\n }\r\n\r\n if (values.length - 1 === i) {\r\n stored.ranges.push(format(stored.currentRange));\r\n }\r\n return stored;\r\n }, rangeObj ).ranges.join(', ');\r\n});\r\n\r\nVue.filter('fullAddress', (address: string, postalcode?: string, city?: string ) => {\r\n if (!address) { return ''; }\r\n let fullAddress = address;\r\n fullAddress += postalcode && city ? `, ${postalcode} ${city}` : '';\r\n return fullAddress;\r\n});\r\n\r\nVue.filter('list', (list: string[]) => {\r\n if (!list) { return ''; }\r\n return list.filter(Boolean).join(', ');\r\n});\r\n","import Vue from 'vue';\r\nimport App from './App.vue';\r\nimport router from './router';\r\nimport store from './stores/store';\r\nimport vuetify from './plugins/vuetify';\r\nimport { TiptapVuetifyPlugin } from 'tiptap-vuetify';\r\nimport './class.component-hooks';\r\nimport './filters';\r\n\r\nimport 'tiptap-vuetify/dist/main.css';\r\n\r\nVue.config.productionTip = false;\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n vuetify,\r\n render: h => h(App),\r\n}).$mount('#app');\r\n\r\nVue.use(TiptapVuetifyPlugin, { vuetify, iconsGroup: 'mdi' });\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-autocomplete',{attrs:{\"return-object\":\"\",\"item-text\":\"name\",\"item-value\":\"id\",\"cache-items\":\"\",\"hide-details\":\"\",\"label\":_vm.label,\"filter\":_vm.search,\"items\":_vm.users,\"dense\":_vm.dense,\"filled\":_vm.filled,\"flat\":_vm.flat,\"solo-inverted\":_vm.soloInverted,\"allow-overflow\":_vm.allowOverflow,\"value\":_vm.value},on:{\"input\":function($event){return _vm.$emit('input', $event)}},scopedSlots:_vm._u([{key:\"selection\",fn:function(data){return [_c('v-list-item',{staticClass:\"pl-0\",attrs:{\"height\":\"1em\"}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(data.item.name)+\" \")])],1)],1)]}},{key:\"item\",fn:function(data){return [_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"\\n \"+_vm._s(data.item.isCompany ? 'mdi-domain' : 'mdi-account')+\" \\n \")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(data.item.name)+\" \")]),_c('v-list-item-subtitle',[_vm._v(\"\\n \"+_vm._s(data.item.email)+\" \"+_vm._s(data.item.phoneNumber)+\" \\n \")])],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Prop, Component, Watch, Model } from 'vue-property-decorator';\r\n@Component\r\nexport default class AutocompleteUser extends Vue {\r\n\r\n @Prop() private value!: IUser;\r\n @Prop({ default: () => [] }) private users!: IUser[];\r\n @Prop({ default: false }) private dense!: boolean;\r\n @Prop({ default: false }) private flat!: boolean;\r\n @Prop({ default: false }) private soloInverted!: boolean;\r\n @Prop({ default: false }) private allowOverflow!: boolean;\r\n @Prop({ default: false }) private filled!: boolean;\r\n @Prop({ default: 'Valitse käyttäjä' }) private label!: string;\r\n\r\n search(item: IUser, query: string, itemText: string) {\r\n return ['name', 'email', 'phoneNumber'].some(s => {\r\n const propVal = (item as any)[s] + '';\r\n return propVal.toLowerCase().indexOf(query.toLocaleLowerCase()) >= 0;\r\n });\r\n }\r\n\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutocompleteUser.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutocompleteUser.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AutocompleteUser.vue?vue&type=template&id=43a1c59a&\"\nimport script from \"./AutocompleteUser.vue?vue&type=script&lang=ts&\"\nexport * from \"./AutocompleteUser.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VAutocomplete,VIcon,VListItem,VListItemContent,VListItemIcon,VListItemSubtitle,VListItemTitle})\n"],"sourceRoot":""}