{"version":3,"sources":["webpack:///./src/webinterview/api/http.js","webpack:///./src/webinterview/components/Interview.vue?8438","webpack:///src/webinterview/components/Interview.vue","webpack:///./src/webinterview/components/Interview.vue?ea10","webpack:///./src/webinterview/components/Interview.vue"],"names":["httpPlugin","install","Vue","store","http","axios","create","baseURL","getters","basePath","async","query","id","params","action","config","splashScreen","dispatch","identity","interviewId","state","route","result","err","message","statusText","done","response","status","data","errorMessage","interceptors","request","use","error","Promise","reject","Object","prototype","hasOwnProperty","call","$api","api","get","actionName","args","headers","isReviewMode","review","responseType","answer","post","url","file","fd","FormData","append","now","total","onUploadProgress","ev","entity","webinterview","entityDetails","undefined","loaded","defineProperty","render","_vm","this","_h","$createElement","_c","_self","attrs","mode","on","connected","staticRenderFns","component"],"mappings":"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","file":"js/interview.a67ea547.js","sourcesContent":["import axios from 'axios'\r\nimport config from '~/shared/config'\r\n\r\nconst httpPlugin = {\r\n install(Vue, { store }) {\r\n\r\n const http = axios.create({\r\n baseURL: store.getters.basePath,\r\n })\r\n\r\n // Add a response interceptor\r\n http.interceptors.request.use(function (response) {\r\n store.dispatch('fetchProgress', 1)\r\n return response\r\n }, function (error) {\r\n store.dispatch('fetchProgress', -1)\r\n // Any status codes that falls outside the range of 2xx cause this function to trigger\r\n // Do something with response error\r\n return Promise.reject(error)\r\n })\r\n\r\n // Add a response interceptor\r\n http.interceptors.response.use(function (response) {\r\n store.dispatch('fetchProgress', -1)\r\n return response\r\n }, function (error) {\r\n store.dispatch('fetchProgress', -1)\r\n // Any status codes that falls outside the range of 2xx cause this function to trigger\r\n // Do something with response error\r\n return Promise.reject(error)\r\n })\r\n\r\n if (!Object.prototype.hasOwnProperty.call(Vue, '$api')) {\r\n Vue.$api = {}\r\n }\r\n\r\n async function query(id, params, action) {\r\n if (config.splashScreen) return\r\n\r\n if (params == null) {\r\n params = {}\r\n }\r\n\r\n if (id) {\r\n store.dispatch('fetch', { id })\r\n params.identity = id\r\n }\r\n\r\n params.interviewId = params.interviewId || store.state.route.params.interviewId\r\n\r\n try {\r\n const result = await action(params)\r\n return result\r\n } catch (err) {\r\n if (id) {\r\n store.dispatch('setAnswerAsNotSaved', { id, message: err.statusText })\r\n store.dispatch('fetch', { id, done: true })\r\n }\r\n else {\r\n if (err.response.status === 400\r\n && err.response.data != null\r\n && err.response.data.errorMessage != null) {\r\n err.message = err.response.data.errorMessage\r\n store.dispatch('UNHANDLED_ERROR', err)\r\n }\r\n else {\r\n store.dispatch('UNHANDLED_ERROR', err)\r\n }\r\n }\r\n }\r\n }\r\n\r\n const api = {\r\n get(actionName, args) {\r\n return query(null, args, async params => {\r\n var headers = store.getters.isReviewMode === true ? { review: true } : {}\r\n const response = await http.get(`api/webinterview/${actionName}`, {\r\n params,\r\n responseType: 'json',\r\n headers: headers,\r\n })\r\n return response.data\r\n })\r\n },\r\n\r\n answer(id, actionName, args) {\r\n return query(id, args, params => {\r\n const interviewId = params.interviewId\r\n delete params.interviewId\r\n var headers = store.getters.isReviewMode === true ? { review: true } : {}\r\n return http.post(`/api/webinterview/commands/${actionName}?interviewId=${interviewId}`, params, {\r\n headers: headers,\r\n })\r\n })\r\n },\r\n\r\n async upload(url, id, file) {\r\n const state = store.state\r\n const dispatch = store.dispatch\r\n\r\n const interviewId = state.route.params.interviewId\r\n\r\n const fd = new FormData()\r\n fd.append('questionId', id)\r\n fd.append('file', file)\r\n dispatch('uploadProgress', { id, now: 0, total: 100 })\r\n\r\n await axios.post(url + '/' + interviewId, fd, {\r\n onUploadProgress(ev) {\r\n var entity = state.webinterview.entityDetails[id]\r\n if (entity != undefined) {\r\n dispatch('uploadProgress', {\r\n id,\r\n now: ev.loaded,\r\n total: ev.total,\r\n })\r\n }\r\n },\r\n })\r\n },\r\n }\r\n\r\n Object.defineProperty(Vue.$api, 'interview', {\r\n get() { return api },\r\n })\r\n },\r\n}\r\n\r\nexport default httpPlugin\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('signalr',{attrs:{\"interviewId\":_vm.interviewId,\"mode\":_vm.mode},on:{\"connected\":_vm.connected}}),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Interview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Interview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Interview.vue?vue&type=template&id=0a2efabb&\"\nimport script from \"./Interview.vue?vue&type=script&lang=js&\"\nexport * from \"./Interview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}