{"version":3,"sources":["webpack:///./src/store/modules/survey/mutations.js","webpack:///./src/store/modules/location/actions.js","webpack:///./src/assets/footer_logo.png","webpack:///./src/api/endpoints/buildings.js","webpack:///./src/store/modules/group/getters.js","webpack:///./src/assets/logo.png","webpack:///./src/store/modules/building/state.js","webpack:///./src/store/modules/user/getters.js","webpack:///./src/store/modules/group/index.js","webpack:///./src/store/modules/building/mutations.js","webpack:///./src/store/modules/survey/index.js","webpack:///./src/store/modules/auth/index.js","webpack:///./src/store/modules/auth/types.js","webpack:///./src/store/modules/survey/state.js","webpack:///./src/store/modules/group/mutations.js","webpack:///./src/store/index.js","webpack:///./src/api/endpoints/group.js","webpack:///./src/store/modules/user/index.js","webpack:///./src/store/modules/auth/state.js","webpack:///./src/store/modules/survey/getters.js","webpack:///src/components/BaseTopNav.vue","webpack:///./src/components/BaseTopNav.vue","webpack:///./src/components/BaseTopNav.vue?1d8e","webpack:///src/components/BaseMenuList.vue","webpack:///./src/components/FooterLogo.vue?43f0","webpack:///src/App.vue","webpack:///./src/components/BaseMenuList.vue","webpack:///./src/components/BaseMenuList.vue?779c","webpack:///./src/components/FooterLogo.vue","webpack:///src/components/FooterLogo.vue","webpack:///./src/App.vue","webpack:///./src/App.vue?d3ea","webpack:///./src/main.js","webpack:///./src/store/modules/group/actions.js","webpack:///./src/store/modules/group/types.js","webpack:///./src/store/modules/survey/complex/downloadReport.js","webpack:///./src/api/endpoints/auth.js","webpack:///./src/store/modules/building/index.js","webpack:///./src/store/modules/survey/types.js","webpack:///./src/api/endpoints/users.js","webpack:///./src/store/modules/building/actions.js","webpack:///./src/store/modules/location/getters.js","webpack:///./src/store/modules/user/mutations.js","webpack:///./src/api/endpoints \\.js$","webpack:///./src/api/endpoints/survey.js","webpack:///./src/store/modules/location/index.js","webpack:///./src/router/routes.js","webpack:///./src/router/guard-route.js","webpack:///./src/router/index.js","webpack:///./src/store/modules/building/getters.js","webpack:///./src/store/modules/location/mutations.js","webpack:///./src/store/modules/auth/actions.js","webpack:///./src/store/modules/user/state.js","webpack:///./src/api/index.js","webpack:///./src/store/modules/location/types.js","webpack:///./src/store/modules/survey/actions.js","webpack:///./src/store/modules/auth/getters.js","webpack:///./src/api/endpoints/lookup.js","webpack:///./src/store/modules/auth/mutations.js","webpack:///./src/store/modules/user/actions.js","webpack:///./src/api/endpoints/locations.js","webpack:///./src/store/modules/building/types.js","webpack:///./src/store/modules/location/state.js","webpack:///./src/api/common.js","webpack:///./src/store/modules/user/types.js","webpack:///./src/store/modules/group/state.js","webpack:///./src/store/modules \\.js$"],"names":["__webpack_exports__","_types$RESET_SURVEY$t","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default","types","state","survey","data","audit","surveyDetails","auditDetails","surveys","surveyTypes","count","incompleteSurveysCount","_ref","questionId","filename","filter","x","question","id","answer","photos","push","_ref2","splice","indexOf","isLogoFormatValid","logo","i","length","name","match","resetLocationValues","commit","getStates","_this","this","dispatch","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_asyncToGenerator___default","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_regenerator___default","a","mark","_callee","loaderName","wrap","_context","prev","next","startLoading","abrupt","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_promise___default","resolve","reject","api","then","response","endLoading","catch","error","stop","getLocation","_ref3","locationID","_this2","_callee2","_context2","getLocationsByUser","_ref4","params","_this3","_callee3","_context3","items","createLocation","_ref5","_this4","_callee4","_context4","formData","FormData","append","location","accountNumber","stateID","Error","size","updateLocation","_ref6","_this5","_callee5","_context5","logoBase64","deleteLocation","_ref7","_this6","_callee6","_context6","getReportKPI","_ref8","_this7","_callee7","_context7","module","exports","Object","defineProperty","value","__WEBPACK_IMPORTED_MODULE_0__api_common__","__webpack_require__","getBuilding","buildingID","http","get","getBuildingsByLocation","arguments","undefined","createBuilding","building","post","updateBuilding","deleteBuilding","getChartDataByBuilding","buildingId","group","groups","squareFeet","studentsEnrolled","fullTimeEmployees","buildings","users","roles","d","__WEBPACK_IMPORTED_MODULE_0__state__","__WEBPACK_IMPORTED_MODULE_1__getters__","__WEBPACK_IMPORTED_MODULE_2__actions__","__WEBPACK_IMPORTED_MODULE_3__mutations__","namespaced","getters","actions","mutations","_types$RESET_BUILDING","auth","SET_USER","LOGOUT","buildingNote","_types$ADD_GROUP$type","surveyTypeID","k12Education","Vue","use","Vuex","modules","files","require","keys","forEach","path","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default","lang","Store","getGroup","groupID","getGroupsByLocation","createGroup","updateGroup","deleteGroup","getTop5Buildings","groupId","user","loggedUser","token","email","role","permissions","locationLogo","surveySections","thing","index","self","findIndex","t","section","text","incompletedSections","sections","item","BaseTopNav","locationId","firstName","lastName","additionalEmailsArray","additionalEmails","additionalLocationsArray","additionalLocations","receiveEmailNotifications","activeMenuItem","computed","extends_default","vuex_esm","isRoutePublic","isLoggedIn","menuItems","kpiStats","locations","activeRoute","$route","split","iconActiveRoute","route","slice","icon","methods","created","$store","localStorage","components_BaseTopNav","component_normalizer","_vm","_h","$createElement","_c","_self","staticClass","attrs","to","src","alt","_v","includes","_s","_e","model","callback","$$v","expression","slot","type","_l","key","has-link","replace","on","click","logOut","staticStyle","width","text-align","$loading","isLoading","stat","class","has-text-primary","hoverable","position","BaseMenuList","props","String","required","showIcons","FooterLogo_staticRenderFns","App","components","topNav","menuList","activeClass","tag","footerBar","_m","App___vue_styles__","context","src_App","is-marginless","is-10","mode","fullPath","Buefy","VueLoading","VeeValidate","config","productionTip","window","app","el","router","store","vueLoading","useVuex","template","resetGroupValues","ADD_GROUP","DELETE_GROUP","SET_GROUP","SET_GROUPS","RESET_GROUP","styles","header","fontSize","bold","margin","small","medium","orange","color","orangeTitleLarge","downloadReport","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_asyncToGenerator___default","setTimeout","pdfMake","vfs","pdfFonts","footer","currentPage","pageCount","columns","image","document","getElementsByClassName","fit","toString","alignment","style","content","topSurveyDetails","ul","auditTypeName","auditor","completedDate","unshift","buildingNotes","promises","_loop","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_core_js_promise___default","$http","responseType","console","debug","dataURL","btoa","Uint8Array","reduce","byte","fromCharCode","headers","toLowerCase","canvas","x1","y1","x2","y2","lineWidth","lineColor","all","dataURLs","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_set___default","map","sectionId","title","y","sectionPoints","sectionPointsEarned","points","sectionHeader","table","widths","body","stack","Math","round","layout","pageBreak","questionPointsEarned","comments","images","_columns","columnGap","docDefinition","createPdf","download","_x","_x2","apply","authUser","credentials","requestPasswordReset","setNewPassword","RESET_SURVEY","SET_SURVEY","SET_SURVEYS","SET_SURVEY_TYPES","SET_INCOMPLETE_SURVEYS_COUNT","UPDATE_INCOMPLETE_SURVEYS_COUNT","ADD_PHOTO","REMOVE_PHOTO","UPDATE_BUILDING_NOTE","SET_BUILDING_NOTE","getUsersByLocation","createUser","updateUser","deleteUser","getUser","userID","getRoles","resetBuildingValues","states","_types$SET_USERS$type","./auth.js","./buildings.js","./group.js","./locations.js","./lookup.js","./survey.js","./users.js","webpackContext","req","webpackContextResolve","getSurveysByLocation","getSurveysAssignedToUser","getSurveyTypes","getSurvey","getSurveyByKey","userId","assignSurvey","updateSurvey","uploadSurveyPhoto","deleteSurveyPhoto","surveyId","notifyAdminsSurveyIsComplete","getIncompleteSurveysCount","getLaborAnalysis","param","sendReportByEmail","surveyKey","updateBuildingNote","comment","isDefault","defaultBuildingNotes","defaultYes","getBuildingNotes","routes","component","__WEBPACK_AMD_REQUIRE_ARRAY__","bind","oe","meta","allowAnonymous","isPublic","guardRoute","from","entries_default","cancelTokens","slicedToArray_default","requestId","cancel","matched","some","record","resource","Router","beforeEach","_types$SET_LOCATION$t","_logoBase64","logoContentType","timeZone","access_token","checkAuth","createActionHelpers","moduleName","endpoint","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys___default","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_define_property___default","ADD_LOCATION","DELETE_LOCATION","SET_LOCATION","SET_LOCATIONS","SET_STATES","RESET_LOCATION","SET_KPI_STATS","resetSurvey","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_asyncToGenerator___default","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_promise___default","surveyID","_ref9","_ref10","isSurveyComplete","_this8","_callee8","_context8","answers","answerId","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default","isComplete","_ref11","_ref12","_this9","_callee9","_context9","_ref13","_ref14","_this10","_callee10","_context10","_ref15","_ref16","_this11","_callee11","_context11","log","_ref17","_this12","_callee12","_context12","_ref18","_this13","_callee13","_context13","_ref19","_this14","_callee14","_context14","_ref20","_this15","_callee15","_context15","hasPermission","rootState","_ref$operation","operation","operationsList","description","showReportIcon","isAdminOnly","getDashboard","_types$SET_USER$types","_user","JSON","parse","jwtDecode","e","clear","ae","join","al","ADD_BUILDING","DELETE_BUILDING","SET_BUILDING","SET_BUILDINGS","RESET_BUILDING","axios","create","whitelistedApiEndpoints","interceptors","request","url","method","source","CancelToken","cancelToken","cancelTokenId","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_math_trunc___default","random","apiUrl","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_define_properties___default","prototype","SET_USERS","SET_ROLES","ADD_USER","DELETE_USER","./auth/actions.js","./auth/getters.js","./auth/index.js","./auth/mutations.js","./auth/state.js","./auth/types.js","./building/actions.js","./building/getters.js","./building/index.js","./building/mutations.js","./building/state.js","./building/types.js","./group/actions.js","./group/getters.js","./group/index.js","./group/mutations.js","./group/state.js","./group/types.js","./location/actions.js","./location/getters.js","./location/index.js","./location/mutations.js","./location/state.js","./location/types.js","./survey/actions.js","./survey/complex/downloadReport.js","./survey/getters.js","./survey/index.js","./survey/mutations.js","./survey/state.js","./survey/types.js","./user/actions.js","./user/getters.js","./user/index.js","./user/mutations.js","./user/state.js","./user/types.js"],"mappings":"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","file":"static/js/app.bbe03912dffe755a963c.js","sourcesContent":["import * as types from './types'\r\n\r\nexport default {\r\n [types.RESET_SURVEY] (state) {\r\n state.survey = []\r\n },\r\n [types.SET_SURVEY] (state, data) {\r\n state.survey = data.audit\r\n state.surveyDetails = data.auditDetails\r\n },\r\n [types.SET_SURVEYS] (state, surveys) {\r\n state.surveys = surveys || []\r\n },\r\n [types.SET_SURVEY_TYPES] (state, surveyTypes) {\r\n state.surveyTypes = surveyTypes\r\n },\r\n [types.SET_INCOMPLETE_SURVEYS_COUNT] (state, count) {\r\n state.incompleteSurveysCount = count\r\n },\r\n [types.ADD_PHOTO] (state, { questionId, filename }) {\r\n state.survey.filter((x) => x.question.id === questionId)[0].answer.photos.push(filename)\r\n },\r\n [types.REMOVE_PHOTO] (state, { questionId, filename }) {\r\n state.survey\r\n .filter((x) => x.question.id === questionId)[0]\r\n .answer.photos.splice(\r\n state.survey.filter((x) => x.question.id === questionId)[0].answer.photos.indexOf(filename),\r\n 1\r\n )\r\n },\r\n [types.UPDATE_INCOMPLETE_SURVEYS_COUNT] (state, count) {\r\n state.incompleteSurveysCount += count\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/survey/mutations.js","import {\r\n api,\r\n startLoading,\r\n endLoading\r\n} from '@/api'\r\nimport * as types from './types'\r\n\r\nfunction isLogoFormatValid(logo) {\r\n // Check if selected images has valid extensions\r\n for (let i = 0; i < logo.length; i++) {\r\n var ext = logo[i].name.match(/\\.([^.]+)$/)[1]\r\n\r\n // Return false if extension is invalid\r\n if (ext.match(/(jpg|jpeg|png)/) === null) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n\r\nexport default {\r\n /**\r\n * Reset location values to its defaults\r\n */\r\n resetLocationValues({\r\n commit\r\n }) {\r\n commit(types.RESET_LOCATION)\r\n },\r\n /**\r\n * Get states\r\n * @param {Number} locationID - Location ID\r\n */\r\n async getStates({\r\n commit,\r\n dispatch\r\n }) {\r\n let loaderName = 'getStates'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getStates()\r\n .then((response) => {\r\n commit(types.SET_STATES, response.data)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get location by id\r\n * @param {Number} locationID - Location ID\r\n */\r\n async getLocation({\r\n commit,\r\n dispatch\r\n }, locationID) {\r\n let loaderName = 'getLocation'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getLocation(locationID)\r\n .then((response) => {\r\n commit(types.SET_LOCATION, response.data)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get all locations by based on user\r\n * @param {Object} params - SearchOptions object\r\n */\r\n async getLocationsByUser({\r\n commit,\r\n dispatch\r\n }, params) {\r\n let loaderName = 'getLocationsByUser'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getLocationsByUser(params)\r\n .then((response) => {\r\n commit(types.SET_LOCATIONS, response.data.items)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data.count)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Create new location\r\n */\r\n async createLocation({\r\n commit,\r\n dispatch,\r\n state\r\n }) {\r\n let loaderName = 'createLocation'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n // Prepare FormData\r\n let formData = new FormData()\r\n formData.append('name', state.location.name)\r\n formData.append('accountNumber', state.location.accountNumber)\r\n formData.append('stateID', state.location.stateID)\r\n\r\n // Append photos to FormData\r\n if (state.location.logo !== null && state.location.logo.length > 0) {\r\n if (isLogoFormatValid(state.location.logo)) {\r\n if (state.location.logo[0].size > 50000) {\r\n reject(new Error('File is too big. (Limit 50kb)'))\r\n endLoading(dispatch, loaderName)\r\n return\r\n }\r\n for (let i = 0; i < state.location.logo.length; i++) {\r\n formData.append('logo', state.location.logo[i])\r\n }\r\n } else {\r\n state.location.logo = []\r\n reject(\r\n new Error(\r\n 'The selected file has an invalid extension. Please make sure you select a file with extension JPG, JPEG or PNG.'\r\n )\r\n )\r\n endLoading(dispatch, loaderName)\r\n return\r\n }\r\n }\r\n\r\n // Call API\r\n api\r\n .createLocation(formData)\r\n .then((response) => {\r\n // Note: If there's no data, it means that the location already exists\r\n if (response.data !== '') {\r\n commit(types.ADD_LOCATION, response.data)\r\n resolve(response)\r\n } else {\r\n reject(new Error('Location already exists.'))\r\n }\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Update existing location\r\n */\r\n async updateLocation({\r\n commit,\r\n dispatch,\r\n state\r\n }) {\r\n let loaderName = 'updateLocation'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n // Prepare FormData\r\n let formData = new FormData()\r\n formData.append('id', state.location.id)\r\n formData.append('name', state.location.name)\r\n formData.append('accountNumber', state.location.accountNumber)\r\n formData.append('stateID', state.location.stateID)\r\n\r\n if (state.location.logo === [] && state.location.logoBase64 !== null) {\r\n formData.append('updateLogo', 0)\r\n } else {\r\n formData.append('updateLogo', 1)\r\n }\r\n\r\n // Append photos to FormData\r\n if (state.location.logo !== []) {\r\n if (isLogoFormatValid(state.location.logo)) {\r\n if (state.location.logo.size > 500000) {\r\n reject(new Error('File is too big. (Limit 500kb)'))\r\n endLoading(dispatch, loaderName)\r\n return\r\n }\r\n formData.append('logo', state.location.logo)\r\n } else {\r\n state.location.logo = []\r\n reject(\r\n new Error(\r\n 'The selected file has an invalid extension. Please make sure you select a file with extension JPG, JPEG or PNG.'\r\n )\r\n )\r\n endLoading(dispatch, loaderName)\r\n return\r\n }\r\n }\r\n\r\n // Call API\r\n api\r\n .updateLocation(formData)\r\n .then((response) => {\r\n if (response.data === -1) {\r\n reject(new Error('Location name already exists.'))\r\n }\r\n resolve(response)\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Delete an existing location\r\n */\r\n async deleteLocation({\r\n commit,\r\n dispatch\r\n }, location) {\r\n let loaderName = 'deleteLocation'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n // Call API\r\n api\r\n .deleteLocation({\r\n id: location.id\r\n })\r\n .then((response) => {\r\n commit(types.DELETE_LOCATION, location)\r\n endLoading(dispatch, loaderName)\r\n resolve(response)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get all locations by based on user\r\n * @param {Object} params - SearchOptions object\r\n */\r\n async getReportKPI({\r\n commit,\r\n dispatch\r\n }, locationID) {\r\n let loaderName = 'getReportKPI'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getReportKPI(locationID)\r\n .then((response) => {\r\n commit(types.SET_KPI_STATS, response.data)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/actions.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKsAAABCCAYAAAAooyZTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADjlJREFUeNrsnT1sHMcVx+dOJ8mUQoOAS8sIjQAC4kanKnYl0oRS0bCUwC4cBDx2ShNZAuJGMmTBUhMDlpwm6kjCkAobgWlElQ1Lp8pJZaqxAANBGFguhRCURVmfzPwf5y3mhrO7M7Mfx2XmAYvj3e3N7vF+++b/3ryZba2vr3eFEBdEtBOtVmvJfPGt3/2+Jx9mSj7Witxuyg3H61+5/PFK/PfnW0duY3KbeHj1L43+Iu0Xfik6Bw4nzx9emxNi7a7TZ3dN/1Go/4PNxvH/qeCUj2gXxLx8OCuhXY5IZsNK9uDqR40Gdc9Ub/CL7X9ZrH34llhfW3WFdZiGk+9JaC8qaKOntf3Ojf8CAPXkFdEaeXbw9X3q9T3PNunrvC236xLasYjmNoR19/RxAvXpndvU9UPO4BHPAezOV37btK/UjcDmyIAmetSRY5fETwvviCff/VM8/Gpu4P0Hn5wTO/b/it5roAHYMwj6IqIN96zc9bef2ydG/nBJPP7uH4Pvy9d/duEbemywvS2960REdAiwQjs+M/PnwhrS1Kh4JHDl6wPHG9k4XgNlgG5nIqI1wwpAARTAKRL0pAVTJrDQq4++/hv93XBgJ6R3HY+Y1gQrwNz9xmnReu75Df04MkoAlQVqGrDrd35I3jOBhTyoWCLMy+2s2pCOWi7Q1pGIaQ0BFntUeLp7pw5RzhNBz/r9Ve+2EEylgWoCi/wqLg7d+AKBx8XfgBr7Pf3+VhVffeHK5Y/72vMT0kMiAuwFtHVIAV+6Ka9Nnts435C2oK9XZDtLjYOVQUX6CBu8KyJ3JOt3TvWcQYEHBOBISaFNAJmVxGdg7//1GO2PYwBceFZAClif3P6W2mSw6zD5I84qOHyDpq4FClfbBI8aPj5utot/nSOUXeXtD6k2xoz39ae4AHD8G8JhWFm/eMTGkPSY+jwexyuDFZ4QkLJxNwwpoHvAnQd+LR7d/MIKrt713z32i+R1eOosKYH9kSXQLwgaTt4zmnjXXa/OJudRo30UAKupWa97fBawTGogfGaB1NVz9lTA56OhJ9SGwY4V2cYiepkMaCe0oLKveqKL6vVuuwqPCsge3/wyCXJ0YDvdwwTO46Uv6Tm8ni2a10EFnLqhXXhpF0mgB10Mrn5h5EmLkq0vhmAK1G9CQIUnlRs+O+cJqmljCr5/K/BtvQ+0/oK2sWYfLz3A4q7/mTfepSQ9gDKBRbEJAMV7SNw/vX1rk4czgylIAdOThgA7bAsd8y8h3/qZSC/Uyevyr4d64wxo59KAtVzc2H+xVFh1jQo9yN2+DVjWj/Q5FQgB3KyoX/9MUWDh3dlCgr0mmYIixKOOK1CrGvZNA3ZebdCqJ5SMQVZlsjTNyqDaom8GSk8f8d87XngpATovPaVfADqw+vHysgSQANCrDCpe23vq6lZnrkiEHTqwMFchqGwXoGP1Hscok9S/93Jhz0p51OnjpEHRpZvpojwP+9Mn7yevA6o8DVmGh8U5M6gVpa5K7c4LlAx2Q3Sm8ngTNfxLcDE4F/63i4IKAJBKQqUT/fgewHIRChv+dik8KQosLpC1c6/VCqqykBkHKwVhqNMbh9gR1wqzdlFQuevnAMkF2DRPS69/+r7T8UOB5e7fzDDU4FW7ImxQYGkI5+nrjY9K79/CJvwrxcaE4yhdsGalUSBNo3Kx8/2FP1HQRPWk2pAmjxpBLtw7P01ejbpk6e10b4rXAZ3LeL6vhq2x6+8ayfGZQFBhN7a495+XkC5qkuWi/O6ve8qIQyqoKtezwqPuPX2VYHzw6bnBxiSwIzMfEDxr51/b5GEpEa9GlTiY4g0ZBDaeDwa48qL1NA9rnlvNGvWCiqR56xVoa7FmWH216oLja3naulwZwEUpgBLgYazf7HZpaHX6uFUSYF94VjPq56FPbEgrcdU/3ge4IcAiz8ufG0YwVZL1Sx5rh/c6KreDWrc9qTYvcHJkyvJQYWWNikf88FwQgnF2G7CsYRHM6Bo1Kz0FaDFMu/f8DaqaAmQ7X92oI/AFFhIEx2gwqELlF8uwFQXoLLps/QJAAQsXsSi9WjhTEVIU41IK2fEBlYtS2KPC+wGqRwqEAVgA7Km/k2cFLNCleXlUHTR4cI7gd+x7idrI+yxrWJIP8rwIcvkIT43vgIsBnr0hNl+0EkqzSUcPPVaCVw218TyP3HYBFakpsygFYMJb8VRnWyQO6AAHgSr/dgHVZjg+juXqYSFRMKyL4zKoODa8dkMKsZdEefOvFj2khK9nrXXKeNvFo8KzZQ2ZpqWOBtJTe0Y3NKj0xihy8TpJeFqpg12BxfucAmOdjYsKrzdg5sCS8oRlgeCTTRjmjNqxQrCi2+SxfkTXrsBuAlWlpFDmhxoA1JqiGNuWZ031mFO9JJOQBayuUfXpNPCwP544SAGbXhuw1TSqhPRgyYtcLA3pu5QeZGXCii6cPSW64ryiFDZAmQci4EF7rtBS0bUa008D1gYqyxc+T6w8g4tlC9mKitJflJC+J7aPLZfdYG6AxSBx1VJaUQoKUjAlOqmekl03PBi0o57858l8PBDA7VIhtmwnq4vGBYPPcm0qoOOsgwkq5XSNqS22QYQh/YjLqnte0hPq0UrIBhCwX4sBLWoCCw/2VC00AX1pm3oCObFDbJQPIkuAtBa8N4/Z4zh50LKHp/bkBZLlUTFSZgZ1NQE7WWIkH801G5BmtqIUPAeQLgudcS4WYHNgxlO14XXT5AH24WFceHJoUD2PSpVbyqPib5tcsEmXaNsYVt07Mag0/i9Bun/pGG0uy2gCbJ7Ix+3hOaBP07QMGgCFBqXhW3ncXVOz9B6n0zi9FoHdmtG9bxqscPE1F6Xw7ABsPLmPalxzJvfZumbsbxZvA3yATfoYckJbxyp1JUEJMPZneWGTBCwlopVuZQzbludZ2buxTuUo39S7LvqQQTc9LLylLXvAnpIHGxBsmcUr3AZp5BQPawZh0bapDEh+cDWUyfCE1pnufvM0taXvj4Q+agVQ6YXF1tgD80UCb0s1AHd+SCYp2oDF+ZnAcmAWLTjdVOYgwkotsOpDsWl60LWSn3Op2D9Jm2G5H3UM0zPyRYJ1AkzQB4B9892kJ3j01XzTC1y2CqylzXp1GRKubK2rUGA7r/xmMGWmjOEyl13nzIC+0rW1TgFFOGpf0rDDmday3WAVtikpAXPNnI4bBCsHLlUAS15UDRTY8qjcLuVypZ7V62XzgGV9SoMKNU9raYIF3oDD5l3Hyw6ugrIBeuTNnk9fsS8v0tc9ZlqWgCP2J99/S0UvnJ4yh1DTJAlPu3aZph1tk/WF32yBGbF5pZnXPY/5eemeNW1JnzxPFSoJkJpClM+g8iwFFw2te1ge5m3oku112+ee+/f0bl9N4z4ScIGUB6ttSR9dCjy6Nl+JhuVsA5UqSlnw48mD1hSVOd+Li78hFyAjbJ+JZrWQWgXcsOO/2MTG4hhex3OVH+0QUPWUEAPLBSYhwJog6eCZsxS4hsCEXO/2B7T1VI9eb9AMga2gW/sBHx0LTGU534CtHQqqCaxt8qArsMiPMujQqBzx2zQqA4v9eDgX3TsfH4MGgB/v8fMIqrfVdZeYRZ+Cn3Ze1O8yFYWBBTShwHJaiW8RxNNpbMsS6RMS9VkBrJ/RBoIyGulaW43o+XtXROdnKz4MPPiszwc6eekp/NgABrWpWdDqY/kcDOUBy5X/PJSKY9Jiw5pH1cf1TQ/bGRmNif3qgH1PatCfi2JrHqQZRquO+s6I6OR1/VyU0r6WPzOVgaU5+xJyGj7N2J9uDKxuDqxrTgYTHpUuGJVn3QQs7oM184HzPVqjeQOLpeX/I8pd+6ofAqpVBqSmpxwn67Ek4FEil+ktKCfUPSo8OaL+e+em6T0aHl1bta6jxZIAAwQNu09rYzysfHhROCzv49Lty/aCJ0N28tJTgI91KAPr6mH18j7ICIzj8+c475ksd6lH/fI8cJ8BAIpaAZYJDKxNErC+rcDDzgdEx1VO0pus+1xUhgBeFoGXfvOLbk5Xzze/WCxjZZnW+vr6BPJktikgenpJD5xcF6tIWylw00lYon7u+nGDDJ57RboWQ7Frd6lwRS9uKaJdRy/9iyBotVr96Ev9zbjLylJVt6BPPKvPitOAAl6xc+BwriRg2DNPQrZjesRkXpaUAPCsrF35hmsY2Ro5eTlZzigGWUOVCsuigtmsqZ7VZWf2bgicaGE2pV/zPCzf1odrTn1SWknNqfSmaAMLbtB0FaldMQeLBiMKgho9azOso4OYl57S72WlFy7nSQKeQGjeap1vNcTv8ToFOrDm/QA4H4sKKva60f4/LPGsSFG5atEQDZu1AIW+Dy1xubaa6mEx1o9ArcyuP3rWBsLqEzz5AGuCSmtPqbJC27RtrpSyAcszCMrUqFmwqoqiiYhKpdZ3GXbdNCjgmp6yBV22z6V5VF4K0zb7NVkEw5AEDHLNwRRAPRN5qh7YvB2stQE+y0vqMPGSPi5dv16QYqsnwCLCekVWnDMVLbWQJRTYtKkotrWnsoDl6S2YLRBBjZYJawiwSGkBQHNJHxiqoLDk5Kaa0wxgeTE3fC6CGi23ntV3xWl4RJ4zZTPbqFYasGYdQBmGTAIyCg1ZATuaD6w+wJq1pWmWBywg5YLqUr+sqnWAHEHhSwR2G8LqAqyvrswCFjrV9U6DPgZIaZi4e5hGv/SbykXbRrBmARsaANmABVC470AVGhUeGwEg2qYyxptfRAIaZN7rBmStOB1i+sLEVUf9kBWokaV1r27figXbTYWVVwF07U7Z0K2ijE9gK2hltpVr+1+Ov34DYUXtYd9ltWprA9rUlMInU2JbAZZWg7kswqYmR3O3ZZed/ifAAF++yKjl2rt8AAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/footer_logo.png\n// module id = 2dPJ\n// module chunks = 22","import http from '@/api/common'\r\n\r\nexport default {\r\n getBuilding (buildingID) {\r\n return http.get(`building/get?id=${buildingID}`)\r\n },\r\n getBuildingsByLocation (params, locationID = null) {\r\n return http.get(`building/getbylocation?locationID=${locationID}`, { params })\r\n },\r\n createBuilding (building) {\r\n return http.post('building/create', building)\r\n },\r\n updateBuilding (building) {\r\n return http.post('building/update', building)\r\n },\r\n deleteBuilding (building) {\r\n return http.post('building/delete', building)\r\n },\r\n getChartDataByBuilding (buildingId) {\r\n return http.post(`building/getchartdatabybuilding?buildingId=${buildingId}`)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/endpoints/buildings.js","export default {\r\n group: (state) => state.group,\r\n groups: (state) => state.groups\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/group/getters.js","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/logo.png\n// module id = 7Otq\n// module chunks = 22","export default {\r\n building: {\r\n name: '',\r\n group: { id: null },\r\n location: { id: null },\r\n squareFeet: 0,\r\n studentsEnrolled: 0,\r\n fullTimeEmployees: 0\r\n },\r\n buildings: []\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/building/state.js","export default {\r\n users: (state) => state.users,\r\n roles: (state) => state.roles\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/getters.js","import state from './state'\r\nimport getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nexport const group = {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/group/index.js","import * as types from './types'\r\n\r\nexport default {\r\n // TODO: Replace this logic with: https://goo.gl/kpwDtU\r\n [types.RESET_BUILDING] (state, building) {\r\n state.building = {\r\n name: '',\r\n group: { id: null },\r\n location: { id: null },\r\n squareFeet: 0,\r\n studentsEnrolled: 0,\r\n fullTimeEmployees: 0\r\n }\r\n },\r\n [types.ADD_BUILDING] (state, buildings) {\r\n state.buildings.push(buildings)\r\n },\r\n [types.DELETE_BUILDING] (state, building) {\r\n state.buildings.splice(state.buildings.indexOf(building), 1)\r\n },\r\n [types.SET_BUILDING] (state, building) {\r\n state.building = building\r\n },\r\n [types.SET_BUILDINGS] (state, buildings) {\r\n state.buildings = buildings || []\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/building/mutations.js","import state from './state'\r\nimport getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nexport const survey = {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/survey/index.js","import state from './state'\r\nimport getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nexport const auth = {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/index.js","export const SET_USER = 'SET_USER'\r\nexport const LOGOUT = 'LOGOUT'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/types.js","export default {\r\n survey: [],\r\n surveyDetails: {},\r\n surveys: [],\r\n surveyTypes: [],\r\n incompleteSurveysCount: 0,\r\n buildingNote: []\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/survey/state.js","import * as types from './types'\r\n\r\nexport default {\r\n [types.ADD_GROUP] (state, group) {\r\n state.groups.push(group)\r\n },\r\n [types.DELETE_GROUP] (state, group) {\r\n state.groups.splice(state.groups.indexOf(group), 1)\r\n },\r\n [types.SET_GROUP] (state, group) {\r\n state.group = group\r\n },\r\n [types.SET_GROUPS] (state, groups) {\r\n state.groups = groups || []\r\n },\r\n [types.RESET_GROUP] (state) {\r\n state.group = {\r\n id: 0,\r\n name: null,\r\n surveyTypeID: null,\r\n locationID: null,\r\n k12Education: null\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/group/mutations.js","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nVue.use(Vuex)\r\n\r\nconst modules = {}\r\nconst files = require.context('./modules', true, /\\.js$/)\r\n\r\nfiles.keys().forEach((path, i) => {\r\n const module = files(path)\r\n Object.keys(module).forEach(lang => {\r\n modules[lang] = module[lang]\r\n })\r\n})\r\n\r\nexport default new Vuex.Store({\r\n modules\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/index.js","import http from '@/api/common'\r\n\r\nexport default {\r\n getGroup (groupID) {\r\n return http.get(`group/get?id=${groupID}`)\r\n },\r\n getGroupsByLocation (params, locationID = null) {\r\n return http.get(`group/getbylocation?locationID=${locationID}`, { params })\r\n },\r\n createGroup (group) {\r\n return http.post('group/create', group)\r\n },\r\n updateGroup (group) {\r\n return http.post('group/update', group)\r\n },\r\n deleteGroup (group) {\r\n return http.post('group/delete', group)\r\n },\r\n getTop5Buildings (groupId) {\r\n return http.get(`building/getTop5Buildings?groupId=${groupId}`)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/endpoints/group.js","import state from './state'\r\nimport getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nexport const user = {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/index.js","export default {\r\n loggedUser: {\r\n token: null,\r\n email: null,\r\n role: null,\r\n permissions: null,\r\n location: null,\r\n locationLogo: null\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/state.js","export default {\r\n survey: (state) => state.survey,\r\n surveyDetails: (state) => state.surveyDetails,\r\n surveys: (state) => state.surveys,\r\n surveyTypes: (state) => state.surveyTypes,\r\n incompleteSurveysCount: (state) => state.incompleteSurveysCount,\r\n surveySections: (state) => {\r\n // Resource: https://goo.gl/gUuY5P (Remove duplicates from an array of objects in javascript)\r\n if (typeof state.survey.length === 'undefined') return null\r\n return state.survey.filter(\r\n (thing, index, self) =>\r\n self.findIndex((t) => {\r\n return t.section.id === thing.section.id && t.section.text === thing.section.text\r\n }) === index\r\n )\r\n },\r\n incompletedSections: (state) => {\r\n if (typeof state.survey.length === 'undefined') return null\r\n let sections = []\r\n state.survey.filter((item) => {\r\n if (item.answer.id === null) {\r\n if (sections.indexOf(item.section.id) === -1) {\r\n sections.push(item.section.id)\r\n }\r\n }\r\n })\r\n return sections\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/survey/getters.js","\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ loggedUser.location }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ activeRoute }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ item.name }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Log Out\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Key Performance Indicators\r\n \r\n Getting stats...\r\n \r\n \r\n {{ i }} \r\n \r\n {{ stat }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ loggedUser.email }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Log Out\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/BaseTopNav.vue","/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BaseTopNav.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BaseTopNav.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f78af9ec\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./BaseTopNav.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/BaseTopNav.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"navbar\",attrs:{\"id\":\"top\"}},[_c('div',{staticClass:\"navbar-brand\"},[_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"logo\",attrs:{\"src\":require(\"@/assets/logo.png\"),\"alt\":\"The Home Depot Pro\"}})]),_vm._v(\" \"),(_vm.isLoggedIn && !['ROOT', 'SupplyWorks'].includes(_vm.loggedUser.location))?[_c('hr',{staticClass:\"navbar-divider\"}),_vm._v(\" \"),_c('p',{staticClass:\"navbar-item location-logo\"},[(_vm.loggedUser.locationLogo !== null)?[_c('img',{attrs:{\"src\":_vm.loggedUser.locationLogo}})]:[_c('span',[_vm._v(_vm._s(_vm.loggedUser.location))])]],2)]:_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('b-dropdown',{staticClass:\"is-hidden-tablet\",model:{value:(_vm.activeMenuItem),callback:function ($$v) {_vm.activeMenuItem=$$v},expression:\"activeMenuItem\"}},[_c('button',{staticClass:\"button is-primary\",attrs:{\"slot\":\"trigger\",\"type\":\"button\"},slot:\"trigger\"},[[_c('b-icon',{attrs:{\"icon\":_vm.iconActiveRoute}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.activeRoute))])]],2),_vm._v(\" \"),_vm._l((_vm.menuItems),function(item){return _c('b-dropdown-item',{key:item.name,attrs:{\"has-link\":true}},[_c('router-link',{key:item.name,attrs:{\"to\":item.route,\"replace\":true}},[_c('div',{staticClass:\"media\"},[_c('b-icon',{staticClass:\"media-left\",attrs:{\"icon\":item.icon}}),_vm._v(\" \"),_c('div',{staticClass:\"media-content\"},[_c('h3',[_vm._v(_vm._s(item.name))])])],1)])],1)}),_vm._v(\" \"),_c('hr',{staticClass:\"dropdown-divider\"}),_vm._v(\" \"),_c('hr',{staticClass:\"dropdown-divider\"}),_vm._v(\" \"),_c('b-dropdown-item',{on:{\"click\":_vm.logOut}},[_c('div',{staticClass:\"media\"},[_c('b-icon',{staticClass:\"media-left\",attrs:{\"icon\":\"power\"}}),_vm._v(\" \"),_c('div',{staticClass:\"media-content\"},[_c('h3',[_vm._v(\"Log Out\")])])],1)])],2):_vm._e()],2),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{staticClass:\"navbar-menu is-hidden-mobile\"},[_c('div',{staticClass:\"navbar-end\"},[_c('p',{staticClass:\"navbar-item is-hidden-mobile has-text-primary\",staticStyle:{\"width\":\"150px\",\"text-align\":\"center\"}},[_vm._v(\"Key Performance Indicators\")]),_vm._v(\" \"),(_vm.$loading.isLoading('getReportKPI'))?_c('p',{staticClass:\"navbar-item is-hidden-mobile\"},[_vm._v(\"\\n Getting stats...\\n \")]):_vm._l((_vm.kpiStats),function(stat,i){return _c('p',{key:stat.name,staticClass:\"navbar-item is-hidden-mobile\",class:{ 'has-text-primary': i === 3 }},[_vm._v(\"\\n \"+_vm._s(i)+\" Â \\n \"),_c('b',{staticClass:\"has-text-primary\"},[_vm._v(\"\\n \"+_vm._s(stat)+\"\\n \")])])}),_vm._v(\" \"),_c('b-dropdown',{attrs:{\"hoverable\":\"\",\"position\":\"is-bottom-left\"}},[_c('a',{staticClass:\"navbar-item\",attrs:{\"slot\":\"trigger\"},slot:\"trigger\"},[_c('span',[_vm._v(_vm._s(_vm.loggedUser.email))]),_vm._v(\" \"),_c('b-icon',{attrs:{\"icon\":\"menu-down\"}})],1),_vm._v(\" \"),_c('b-dropdown-item',{attrs:{\"has-link\":\"\"}},[_c('a',{on:{\"click\":_vm.logOut}},[_c('i',{staticClass:\"mdi mdi-power\"}),_vm._v(\"\\n Log Out\\n \")])])],1)],2)]):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-f78af9ec\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/BaseTopNav.vue\n// module id = null\n// module chunks = ","\r\n \r\n \r\n \r\n {{ item.name }} 0\" class=\"tag is-rounded is-warning\">{{ incompleteSurveysCount }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/BaseMenuList.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"footer\"},[_c('div',{staticClass:\"footerbar\",attrs:{\"id\":\"bottom\"}},[_c('div',{staticClass:\"footerbar-item has-text-centered\"},[_c('img',{staticClass:\"logo\",attrs:{\"src\":require(\"@/assets/footer_logo.png\"),\"alt\":\"The Home Depot Pro - A Home Depot Company\"}})])])])}]\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3d958790\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/FooterLogo.vue\n// module id = null\n// module chunks = ","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BaseMenuList.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BaseMenuList.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3962ebe4\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./BaseMenuList.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/BaseMenuList.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"menu-list\"},_vm._l((_vm.menuItems),function(item){return _c('router-link',{key:item.name,attrs:{\"to\":item.route,\"activeClass\":\"active\",\"tag\":\"li\"}},[_c('a',[_vm._v(\"\\n \"+_vm._s(item.name)+\" \"),(item.name === 'Surveys' && _vm.incompleteSurveysCount > 0)?_c('span',{staticClass:\"tag is-rounded is-warning\"},[_vm._v(_vm._s(_vm.incompleteSurveysCount))]):_vm._e(),_vm._v(\" \"),(_vm.showIcons(item.route))?_c('div',{staticClass:\"menu-icons is-pulled-right\"},[(item.showReportIcon)?_c('router-link',{staticClass:\"mdi mdi-sort-variant \",attrs:{\"tag\":\"i\",\"to\":((item.route) + \"/reports\")}}):_vm._e(),_vm._v(\" \"),(_vm.loggedUser.role !== 'User')?_c('router-link',{staticClass:\"mdi mdi-plus-box\",attrs:{\"tag\":\"i\",\"to\":((item.route) + \"/add\")}}):_vm._e()],1):_vm._e()])])}),1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3962ebe4\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/BaseMenuList.vue\n// module id = null\n// module chunks = ","/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./FooterLogo.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./FooterLogo.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3d958790\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./FooterLogo.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/FooterLogo.vue\n// module id = null\n// module chunks = ","\r\n \r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/FooterLogo.vue","function injectStyle (context) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c3ad5380\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[(!_vm.isRoutePublic(_vm.$route))?_c('top-nav'):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"columns\",class:{'is-marginless' : _vm.isLoggedIn && !_vm.isRoutePublic(_vm.$route) }},[(_vm.isLoggedIn &&!_vm.$route.path.includes('login') && !_vm.$route.path.includes('resetpassword') && !_vm.$route.path.includes('download'))?_c('aside',{staticClass:\"column is-2 aside hero is-fullheight is-hidden-mobile\"},[_c('div',[_c('div',{staticClass:\"main\"},[_c('menu-list',{attrs:{\"role\":_vm.loggedUser.role}})],1)])]):_vm._e(),_vm._v(\" \"),_c('main',{staticClass:\"column\",class:{'is-10' : _vm.isLoggedIn && !_vm.isRoutePublic(_vm.$route) }},[_c('transition',{attrs:{\"name\":\"component-fade\",\"mode\":\"out-in\"}},[_c('router-view',{key:_vm.$route.fullPath})],1)],1)]),_vm._v(\" \"),_c('footer-bar')],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c3ad5380\",\"hasScoped\":false,\"optionsId\":\"0\",\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport 'babel-polyfill'\r\n\r\nimport Vue from 'vue'\r\nimport App from './App'\r\nimport router from './router'\r\nimport store from './store'\r\n\r\n// Third party libraries\r\nimport Buefy from 'buefy'\r\nimport VueLoading from 'vuex-loading'\r\nimport VeeValidate from 'vee-validate'\r\n\r\n// Buefy\r\nVue.use(Buefy)\r\n\r\n// Vue loading\r\nVue.use(VueLoading)\r\n\r\n// Vee validate\r\nVue.use(VeeValidate)\r\n\r\nVue.config.productionTip = false\r\n\r\n/* eslint-disable no-new */\r\nwindow.app = new Vue({\r\n el: '#app',\r\n router,\r\n store,\r\n vueLoading: new VueLoading({ useVuex: true }),\r\n template: '',\r\n components: {\r\n App\r\n }\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","import { api, startLoading, endLoading } from '@/api'\r\nimport * as types from './types'\r\n\r\nexport default {\r\n /**\r\n * Reset location values to its defaults\r\n */\r\n resetGroupValues ({ commit }) {\r\n commit(types.RESET_GROUP)\r\n },\r\n /**\r\n * Get group by id\r\n * @param {Number} groupID - Group ID\r\n */\r\n async getGroup ({ commit, dispatch }, groupID) {\r\n let loaderName = 'getGroup'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getGroup(groupID)\r\n .then((response) => {\r\n commit(types.SET_GROUP, response.data)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get all groups by based on location\r\n * @param {Object} params - Use to send either a SearchOptions object or LocationID\r\n */\r\n async getGroupsByLocation ({ commit, dispatch }, params) {\r\n let loaderName = 'getGroupsByLocation'\r\n startLoading(dispatch, loaderName)\r\n\r\n // Note: We are reusing this action to populate tables AND dropdowns.\r\n // Below, we check if the parameter sent was a number, meaning that a locationID was sent over.\r\n let locationID = null\r\n if (typeof params === 'number') {\r\n locationID = params\r\n params = null\r\n }\r\n\r\n // Call API\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getGroupsByLocation(params, locationID)\r\n .then((response) => {\r\n commit(types.SET_GROUPS, response.data.items)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data.count)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Create new group\r\n */\r\n async createGroup ({ commit, dispatch, state }) {\r\n let loaderName = 'createGroup'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .createGroup(state.group)\r\n .then((response) => {\r\n // Note: If there's no data, it means that the location already exists\r\n if (response.data !== '') {\r\n commit(types.ADD_GROUP, response.data)\r\n resolve(response)\r\n } else {\r\n reject(new Error('Group already exists.'))\r\n }\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Update existing group\r\n */\r\n async updateGroup ({ commit, dispatch, state }) {\r\n let loaderName = 'updateGroup'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .updateGroup(state.group)\r\n .then((response) => {\r\n if (response.data === -1) {\r\n reject(new Error('Group name already exists.'))\r\n }\r\n resolve(response)\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Delete existing group\r\n */\r\n async deleteGroup ({ commit, dispatch }, group) {\r\n let loaderName = 'deleteGroup'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .deleteGroup({ id: group.id })\r\n .then((response) => {\r\n commit(types.DELETE_GROUP, group)\r\n endLoading(dispatch, loaderName)\r\n resolve(response)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get Top 5 buildings by group (Used for charts)\r\n * @param {Number} groupId - Group ID\r\n */\r\n async getTop5Buildings ({ commit, dispatch }, groupId) {\r\n let loaderName = 'getTop5Buildings'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getTop5Buildings(groupId)\r\n .then((response) => {\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/group/actions.js","export const ADD_GROUP = 'ADD_GROUP'\r\nexport const DELETE_GROUP = 'DELETE_GROUP'\r\nexport const SET_GROUP = 'SET_GROUP'\r\nexport const SET_GROUPS = 'SET_GROUPS'\r\nexport const RESET_GROUP = 'RESET_GROUP'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/group/types.js","import { startLoading, endLoading } from '@/api'\r\n\r\nimport pdfMake from 'pdfmake/build/pdfmake'\r\nimport * as pdfFonts from 'pdfmake/build/vfs_fonts'\r\n\r\n// Styles\r\nvar styles = {\r\n header: {\r\n fontSize: 18,\r\n bold: true,\r\n margin: [ 0, 0, 0, 10 ]\r\n },\r\n small: {\r\n fontSize: 10\r\n },\r\n medium: {\r\n fontSize: 12\r\n },\r\n orange: {\r\n color: '#f48120'\r\n },\r\n orangeTitleLarge: {\r\n fontSize: 14,\r\n color: '#f48120',\r\n bold: true\r\n }\r\n}\r\n\r\n/**\r\n* Download Report\r\n* @param {Object} survey - Survey\r\n*/\r\nexport async function downloadReport ({ dispatch, state }, survey) {\r\n let loaderName = 'downloadReport'\r\n startLoading(dispatch, loaderName)\r\n\r\n /*\r\n * In order to make the loading state work properly,\r\n * we need to wrap the pdfMake logic inside a setTimeout(fn, 0)\r\n * which acts like nextTick. If we don't do this, the loading state takes time to update.\r\n */\r\n setTimeout(function () {\r\n pdfMake.vfs = pdfFonts.pdfMake.vfs\r\n\r\n // Footer\r\n var footer = (currentPage, pageCount) => {\r\n return {\r\n columns: [\r\n { image: document.getElementsByClassName('logo')[0].src, fit: [50, 50] },\r\n { text: currentPage.toString() + ' of ' + pageCount, alignment: 'right', style: 'small', margin: [ 0, 6, 0, 0 ] }\r\n ],\r\n margin: [ 40, 0 ]\r\n }\r\n }\r\n // Content\r\n var content = []\r\n\r\n // Top survey details\r\n var topSurveyDetails = {\r\n columns: [\r\n {\r\n columns: [\r\n {\r\n type: 'none',\r\n style: 'small',\r\n ul: [\r\n { text: 'Location', bold: true },\r\n { text: state.surveyDetails.location, margin: [ 0, 0, 0, 5 ] },\r\n { text: 'Account Number', bold: true },\r\n { text: state.surveyDetails.accountNumber, margin: [ 0, 0, 0, 5 ] }\r\n ]\r\n },\r\n {\r\n type: 'none',\r\n style: 'small',\r\n ul: [\r\n { text: 'Group', bold: true },\r\n { text: state.surveyDetails.group, margin: [ 0, 0, 0, 5 ] },\r\n { text: 'Building', bold: true },\r\n { text: state.surveyDetails.building, margin: [ 0, 0, 0, 5 ] }\r\n ]\r\n },\r\n {\r\n type: 'none',\r\n style: 'small',\r\n ul: [\r\n { text: 'Audit Type', bold: true },\r\n { text: state.surveyDetails.auditTypeName, margin: [ 0, 0, 0, 5 ] },\r\n { text: 'Auditor', bold: true },\r\n { text: state.surveyDetails.auditor, margin: [ 0, 0, 0, 5 ] },\r\n { text: 'Completed Date', bold: true },\r\n { text: state.surveyDetails.completedDate, margin: [ 0, 0, 0, 5 ] }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n // Add logo if exists\r\n if (typeof localStorage.locationLogo !== 'undefined') {\r\n topSurveyDetails.columns.unshift({\r\n image: localStorage.locationLogo,\r\n fit: [150, 150]\r\n })\r\n } else {\r\n topSurveyDetails.columns.unshift({ text: state.surveyDetails.location })\r\n }\r\n content.push(topSurveyDetails)\r\n // Horizontal line (resource: https://goo.gl/eCPJRU)\r\n // content.push({\r\n // canvas: [ { type: 'line', x1: 0, y1: 5, x2: 595 - 2 * 40, y2: 5, lineWidth: 1, lineColor: '#ccc' } ],\r\n // margin: [ 0, 5, 0, 10 ]\r\n // })\r\n var buildingNotes = {\r\n columns: [\r\n {\r\n columns: [\r\n {\r\n type: 'none',\r\n style: 'small',\r\n ul: [\r\n { text: 'Building Notes', bold: true },\r\n { text: state.surveyDetails.buildingNotes, margin: [ 0, 5, 0, 5 ] }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n content.push(buildingNotes)\r\n // Get all filenames separately with the questionId\r\n var photos = []\r\n state.survey.forEach((item) => {\r\n if (item.answer.photos.length > 0) {\r\n item.answer.photos.forEach((filename) => {\r\n photos.push({ questionId: item.question.id, filename: filename })\r\n })\r\n }\r\n })\r\n // Prepare a promises array to get photos first\r\n var promises = []\r\n if (photos.length > 0) {\r\n for (let i = 0; i < photos.length; i++) {\r\n // photos.forEach((item) => {\r\n // Fill promises array\r\n promises.push(\r\n new Promise((resolve, reject) => {\r\n window.app.$http\r\n .get(`/uploads/${state.surveyDetails.id}/${photos[i].questionId}/resized_${photos[i].filename}`, {\r\n responseType: 'arraybuffer'}).catch((error) => {\r\n console.debug(error)\r\n resolve({\r\n questionId: 0,\r\n dataURL: ``\r\n })\r\n })\r\n .then((response) => {\r\n let image = btoa(\r\n new Uint8Array(response.data).reduce(\r\n (data, byte) => data + String.fromCharCode(byte),\r\n ''\r\n )\r\n )\r\n resolve({\r\n questionId: photos[i].questionId,\r\n dataURL: `data:${response.headers['content-type'].toLowerCase()};base64,${image}`\r\n })\r\n })\r\n // .catch((error) => {\r\n // console.debug(error)\r\n // For testing:\r\n // resolve({\r\n // questionId: item.questionId,\r\n // dataURL: localStorage.locationLogo\r\n // })\r\n })\r\n // })\r\n )\r\n }\r\n }\r\n // Horizontal line (resource: https://goo.gl/eCPJRU)\r\n content.push({\r\n canvas: [ { type: 'line', x1: 0, y1: 5, x2: 595 - 2 * 40, y2: 5, lineWidth: 1, lineColor: '#ccc' } ],\r\n margin: [ 0, 5, 0, 10 ]\r\n })\r\n\r\n Promise.all(promises).then((dataURLs) => {\r\n // Get unique sections\r\n var sections = [ ...new Set(state.survey.map((x) => x.section.id)) ]\r\n /**\r\n * Loop thru SECTIONS\r\n */\r\n sections.forEach((sectionId) => {\r\n // Section Title\r\n var title = state.survey.filter((y) => y.section.id === sectionId)[0].section.text\r\n var sectionPoints = 0\r\n var sectionPointsEarned = 0\r\n state.survey.filter((y) => y.section.id === sectionId).forEach((x) => {\r\n sectionPoints += x.question.points\r\n if (x.answer.id === 1) {\r\n sectionPointsEarned += x.question.points\r\n }\r\n })\r\n var sectionHeader = {\r\n table: {\r\n widths: [ '*', 110, 110 ],\r\n body: [\r\n [\r\n {\r\n stack: [\r\n { text: 'Survey Results for', style: 'small' },\r\n { text: title, style: 'orangeTitleLarge' }\r\n ]\r\n },\r\n {\r\n stack: [\r\n { text: 'Sections Points Earned', alignment: 'center', style: 'small' },\r\n {\r\n text: `${sectionPointsEarned}/${sectionPoints}`,\r\n alignment: 'center',\r\n style: 'orangeTitleLarge'\r\n }\r\n ]\r\n },\r\n {\r\n stack: [\r\n { text: 'Section Score', alignment: 'center', style: 'small' },\r\n {\r\n text: Math.round(sectionPointsEarned / sectionPoints * 100) + '%',\r\n alignment: 'center',\r\n style: 'orangeTitleLarge'\r\n }\r\n ]\r\n }\r\n ]\r\n ]\r\n },\r\n layout: 'noBorders'\r\n }\r\n sectionHeader.pageBreak = sectionId !== 1 ? 'before' : null\r\n content.push(sectionHeader)\r\n // Horizontal line (resource: https://goo.gl/eCPJRU)\r\n content.push({\r\n canvas: [ { type: 'line', x1: 0, y1: 5, x2: 595 - 2 * 40, y2: 5, lineWidth: 1, lineColor: '#ccc' } ],\r\n margin: [ 0, 5, 0, 20 ]\r\n })\r\n\r\n /**\r\n * Loop thru QUESTIONS\r\n */\r\n state.survey.filter((item) => item.section.id === sectionId).forEach((question) => {\r\n content.push({ text: question.question.text, bold: true })\r\n var questionPointsEarned = question.answer.id === 1 ? question.question.points : 0\r\n content.push({ text: 'Points earned: ' + questionPointsEarned, style: [ 'small', 'orange' ] })\r\n\r\n // Add comments\r\n if (question.answer.comments) {\r\n content.push({\r\n text: 'COMMENTS: ' + question.answer.comments,\r\n style: 'small'\r\n })\r\n }\r\n\r\n // Add photos\r\n if (dataURLs.length > 0) {\r\n var images = dataURLs.filter((x) => x.questionId === question.question.id)\r\n if (images.length > 0) {\r\n var _columns = []\r\n var columns = []\r\n var margin = [ 0, 10, 0, 0 ]\r\n var columnGap = 10\r\n images.forEach((image, i) => {\r\n // Add photo into columns array\r\n columns.push({\r\n image: image.dataURL,\r\n width: 252.5\r\n })\r\n // Whenever we got 2 columns(photos), we add them into the content\r\n if (columns.length === 2) {\r\n _columns.push({ columns, margin, columnGap })\r\n columns = []\r\n // If it's the last image, add the single column\r\n } else if (images.length === i + 1) {\r\n _columns.push({ columns, margin, columnGap })\r\n }\r\n })\r\n content.push(_columns)\r\n }\r\n }\r\n\r\n // Divider\r\n content.push({\r\n canvas: [\r\n {\r\n type: 'line',\r\n x1: 0,\r\n y1: 5,\r\n x2: 595 - 2 * 40,\r\n y2: 5,\r\n lineWidth: 1,\r\n lineColor: '#ccc'\r\n }\r\n ],\r\n margin: [ 0, 10 ]\r\n })\r\n })\r\n })\r\n // Create and Download PDF\r\n var docDefinition = {\r\n styles,\r\n content,\r\n footer\r\n }\r\n pdfMake\r\n .createPdf(docDefinition)\r\n .download(\r\n `${state.surveyDetails.building} - ${state.surveyDetails.location} - ${state.surveyDetails.auditor}.pdf`,\r\n function () { endLoading(dispatch, loaderName) }\r\n )\r\n })\r\n }, 0)\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/survey/complex/downloadReport.js","import http from '@/api/common'\r\n\r\nexport default {\r\n authUser (credentials, callback, error) {\r\n return http.post('auth/gettoken', credentials)\r\n },\r\n requestPasswordReset (email) {\r\n return http.post('users/requestpasswordreset', email)\r\n },\r\n setNewPassword (user) {\r\n return http.post('users/setnewpassword', user)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/endpoints/auth.js","import state from './state'\r\nimport getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nexport const building = {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/building/index.js","export const RESET_SURVEY = 'RESET_SURVEY'\r\nexport const SET_SURVEY = 'SET_SURVEY'\r\nexport const SET_SURVEYS = 'SET_SURVEYS'\r\nexport const SET_SURVEY_TYPES = 'SET_SURVEY_TYPES'\r\nexport const SET_INCOMPLETE_SURVEYS_COUNT = 'SET_INCOMPLETE_SURVEYS_COUNT'\r\nexport const UPDATE_INCOMPLETE_SURVEYS_COUNT = 'UPDATE_INCOMPLETE_SURVEYS_COUNT'\r\nexport const ADD_PHOTO = 'ADD_PHOTO'\r\nexport const REMOVE_PHOTO = 'REMOVE_PHOTO'\r\nexport const UPDATE_BUILDING_NOTE = 'UPDATE_BUILDING_NOTE'\r\nexport const SET_BUILDING_NOTE = 'SET_BUILDING_NOTE'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/survey/types.js","import http from '@/api/common'\r\n\r\nexport default {\r\n getUsersByLocation (params) {\r\n return http.get('users/getbylocation', { params })\r\n },\r\n createUser (user) {\r\n return http.post('users/create', user)\r\n },\r\n updateUser (user) {\r\n return http.post('users/update', user)\r\n },\r\n deleteUser (user) {\r\n return http.post('users/delete', user)\r\n },\r\n getUser (userID) {\r\n return http.get(`users/get?id=${userID}`)\r\n },\r\n getRoles () {\r\n return http.get('users/getroles')\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/endpoints/users.js","import { api, startLoading, endLoading } from '@/api'\r\nimport * as types from './types'\r\n\r\nexport default {\r\n /**\r\n * Reset building values to its defaults\r\n */\r\n resetBuildingValues ({ commit }) {\r\n commit(types.RESET_BUILDING)\r\n },\r\n /**\r\n /**\r\n * Get building by id\r\n * @param {Number} buildingID - Building ID\r\n */\r\n async getBuilding ({ commit, dispatch }, buildingID) {\r\n let loaderName = 'getBuilding'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getBuilding(buildingID)\r\n .then((response) => {\r\n commit(types.SET_BUILDING, response.data)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get all buildings\r\n * @param {Number} locationID - Location ID\r\n */\r\n async getBuildingsByLocation ({ commit, dispatch }, params) {\r\n let loaderName = 'getBuildingsByLocation'\r\n startLoading(dispatch, loaderName)\r\n\r\n // Note: We are reusing this action to populate tables AND dropdowns.\r\n // Below, we check if the parameter sent was a number, meaning that a locationID was sent over.\r\n let locationID = null\r\n if (typeof params === 'number') {\r\n locationID = params\r\n params = null\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getBuildingsByLocation(params, locationID)\r\n .then((response) => {\r\n commit(types.SET_BUILDINGS, response.data.items)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data.count)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Create a new building\r\n * @param {Object} building - Building's data\r\n */\r\n async createBuilding ({ commit, state, dispatch }) {\r\n let loaderName = 'createBuilding'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .createBuilding(state.building)\r\n .then((response) => {\r\n // Note: If there's no data, it means that the building already exists\r\n if (response.data === -1) {\r\n reject(new Error('The group selected already has five (5) buildings assigned to it.'))\r\n } else if (response.data !== '') {\r\n commit(types.ADD_BUILDING, response.data)\r\n resolve(response)\r\n } else {\r\n reject(new Error('Building already exists.'))\r\n }\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Update a new building\r\n * @param {Object} building - Building's data\r\n */\r\n async updateBuilding ({ commit, state, dispatch }) {\r\n let loaderName = 'updateBuilding'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .updateBuilding(state.building)\r\n .then((response) => {\r\n if (response.data === -1) {\r\n reject(new Error('Building name already exists.'))\r\n }\r\n resolve(response)\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Delete existing building\r\n */\r\n async deleteBuilding ({ commit, dispatch }, building) {\r\n let loaderName = 'deleteBuilding'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .deleteBuilding({ id: building.id })\r\n .then((response) => {\r\n commit(types.DELETE_BUILDING, building)\r\n endLoading(dispatch, loaderName)\r\n resolve(response)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get chart data by building\r\n * @param {Number} buildingId - Building ID\r\n */\r\n async getChartDataByBuilding ({ commit, dispatch }, buildingId) {\r\n let loaderName = 'getChartDataByBuilding'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getChartDataByBuilding(buildingId)\r\n .then((response) => {\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/building/actions.js","export default {\r\n states: (state) => state.states,\r\n location: (state) => state.location,\r\n locations: (state) => state.locations,\r\n kpiStats: (state) => state.kpiStats\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/getters.js","import * as types from './types'\r\n\r\nexport default {\r\n [types.SET_USERS] (state, users) {\r\n state.users = users || []\r\n },\r\n [types.SET_ROLES] (state, roles) {\r\n state.roles = roles || []\r\n },\r\n [types.ADD_USER] (state, user) {\r\n state.users.push(user)\r\n },\r\n [types.DELETE_USER] (state, user) {\r\n state.users.splice(state.users.indexOf(user), 1)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/mutations.js","var map = {\n\t\"./auth.js\": \"UBnP\",\n\t\"./buildings.js\": \"2g4h\",\n\t\"./group.js\": \"Kp8Z\",\n\t\"./locations.js\": \"p9jI\",\n\t\"./lookup.js\": \"jkSA\",\n\t\"./survey.js\": \"WR7Q\",\n\t\"./users.js\": \"UY+X\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"VkOT\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/api/endpoints \\.js$\n// module id = VkOT\n// module chunks = 22","import http from '@/api/common'\r\n\r\nexport default {\r\n getSurveysByLocation (params) {\r\n return http.get('audit/getbylocation', { params })\r\n },\r\n getSurveysAssignedToUser (params) {\r\n return http.get('audit/getassignedtouser', { params })\r\n },\r\n getSurveyTypes (params) {\r\n return http.get('audit/getaudittypes', { params })\r\n },\r\n getSurvey (id) {\r\n return http.get(`audit/get?id=${id}`)\r\n },\r\n getSurveyByKey ({ key, userId }) {\r\n return http.get(`audit/getbykey?key=${key}&userId=${userId}`)\r\n },\r\n assignSurvey (survey) {\r\n return http.post('audit/create', survey)\r\n },\r\n updateSurvey (survey) {\r\n return http.post('audit/update', survey)\r\n },\r\n uploadSurveyPhoto (formData) {\r\n return http.post('audit/uploadphoto', formData)\r\n },\r\n deleteSurveyPhoto ({ surveyId, questionId, filename }) {\r\n return http.post(`audit/deletephoto?surveyId=${surveyId}&questionId=${questionId}&filename=${filename}`)\r\n },\r\n notifyAdminsSurveyIsComplete (surveyId) {\r\n return http.post(`audit/sendcompletionemail?surveyId=${surveyId}`)\r\n },\r\n getIncompleteSurveysCount () {\r\n return http.get('audit/getincompletesurveyscount')\r\n },\r\n getLaborAnalysis (locationId) {\r\n var param = typeof locationId !== 'undefined' ? `?locationId=${locationId}` : ''\r\n return http.get(`audit/getlaboranalysis${param}`)\r\n },\r\n sendReportByEmail ({ surveyKey, email }) {\r\n return http.get(`audit/sendreport?auditkey=${surveyKey}&email=${email}`)\r\n },\r\n updateBuildingNote ({surveyId, comment, isDefault}) {\r\n return http.post(`audit/updatebuildingnote?surveyId=${surveyId}&comment=${comment}&isDefault=${isDefault}`)\r\n },\r\n defaultBuildingNotes({surveyId, defaultYes}) {\r\n return http.post('')\r\n },\r\n getBuildingNotes (surveyId) {\r\n return http.get(`audit/GetBuildingNotes?surveyId=${surveyId}`)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/endpoints/survey.js","import state from './state'\r\nimport getters from './getters'\r\nimport actions from './actions'\r\nimport mutations from './mutations'\r\n\r\nexport const location = {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/index.js","export default {\r\n mode: 'history',\r\n routes: [{\r\n path: '/',\r\n name: 'Home',\r\n component: (resolve) => require(['@/views/Home'], resolve)\r\n },\r\n {\r\n path: '/login',\r\n name: 'Login',\r\n component: (resolve) => require(['@/views/Login'], resolve),\r\n meta: {\r\n allowAnonymous: true\r\n }\r\n },\r\n {\r\n path: '/resetpassword/:token?',\r\n name: 'ResetPassword',\r\n component: (resolve) => require(['@/views/ResetPassword.vue'], resolve),\r\n meta: {\r\n allowAnonymous: true\r\n }\r\n },\r\n /**\r\n * User endpoints\r\n */\r\n {\r\n path: '/user',\r\n name: 'User',\r\n component: (resolve) => require(['@/views/user/UserList'], resolve)\r\n },\r\n {\r\n path: '/user/add',\r\n name: 'User.Add',\r\n component: (resolve) => require(['@/views/user/UserUpsert'], resolve)\r\n },\r\n {\r\n path: '/user/edit/:id',\r\n name: 'User.Edit',\r\n component: (resolve) => require(['@/views/user/UserUpsert'], resolve)\r\n },\r\n\r\n /**\r\n * Location endpoints\r\n */\r\n {\r\n path: '/location',\r\n name: 'Location',\r\n component: (resolve) => require(['@/views/location/LocationList'], resolve)\r\n },\r\n {\r\n path: '/location/add',\r\n name: 'Location.Add',\r\n component: (resolve) => require(['@/views/location/LocationUpsert'], resolve)\r\n },\r\n {\r\n path: '/location/edit/:id',\r\n name: 'Location.Edit',\r\n component: (resolve) => require(['@/views/location/LocationUpsert'], resolve)\r\n },\r\n {\r\n path: '/location/reports',\r\n name: 'Location.Reports',\r\n component: (resolve) => require(['@/views/location/LocationReport'], resolve)\r\n },\r\n\r\n /**\r\n * Group endpoints\r\n */\r\n {\r\n path: '/group',\r\n name: 'Group',\r\n component: (resolve) => require(['@/views/group/GroupList'], resolve)\r\n },\r\n {\r\n path: '/group/add',\r\n name: 'Group.Add',\r\n component: (resolve) => require(['@/views/group/GroupUpsert'], resolve)\r\n },\r\n {\r\n path: '/group/edit/:id',\r\n name: 'Group.Edit',\r\n component: (resolve) => require(['@/views/group/GroupUpsert'], resolve)\r\n },\r\n {\r\n path: '/group/reports',\r\n name: 'Group.Reports',\r\n component: (resolve) => require(['@/views/group/GroupReport'], resolve)\r\n },\r\n\r\n /**\r\n * Building endpoints\r\n */\r\n {\r\n path: '/building',\r\n name: 'Building',\r\n component: (resolve) => require(['@/views/building/BuildingList'], resolve)\r\n },\r\n {\r\n path: '/building/add',\r\n name: 'Building.Add',\r\n component: (resolve) => require(['@/views/building/BuildingUpsert'], resolve)\r\n },\r\n {\r\n path: '/building/edit/:id',\r\n name: 'Building.Edit',\r\n component: (resolve) => require(['@/views/building/BuildingUpsert'], resolve)\r\n },\r\n {\r\n path: '/building/reports',\r\n name: 'Building.Reports',\r\n component: (resolve) => require(['@/views/building/BuildingReport'], resolve)\r\n },\r\n\r\n /**\r\n * Survey endpoints\r\n */\r\n {\r\n path: '/survey',\r\n name: 'Survey',\r\n component: (resolve) => require(['@/views/survey/SurveyList'], resolve)\r\n },\r\n {\r\n path: '/survey/add',\r\n name: 'Survey.Add',\r\n component: (resolve) => require(['@/views/survey/SurveyAssign'], resolve)\r\n },\r\n {\r\n path: '/survey/edit/:id',\r\n name: 'Survey.Fulfill',\r\n component: (resolve) => require(['@/views/survey/SurveyFulfill'], resolve)\r\n },\r\n\r\n /**\r\n * Download Survey\r\n */\r\n {\r\n path: '/download/:key?/:userId?',\r\n name: 'Survey.Download',\r\n component: (resolve) => require(['@/views/survey/SurveyDownload.vue'], resolve),\r\n meta: {\r\n allowAnonymous: true,\r\n isPublic: true\r\n }\r\n },\r\n /**\r\n * Forbidden\r\n */\r\n {\r\n path: '/403',\r\n name: 'Forbidden',\r\n component: (resolve) => require(['@/views/error-pages/403'], resolve),\r\n meta: {\r\n allowAnonymous: true\r\n }\r\n },\r\n /**\r\n * Not found\r\n */\r\n {\r\n path: '*',\r\n name: 'NotFound',\r\n component: (resolve) => require(['@/views/error-pages/404'], resolve),\r\n meta: {\r\n allowAnonymous: true\r\n }\r\n }\r\n ]\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/routes.js","import store from '@/store'\r\n\r\n/**\r\n * Handle authentication through all routes\r\n * Resource: https://goo.gl/MsK7bY\r\n */\r\nconst guardRoute = (to, from, next) => {\r\n // Cancell any pending API request\r\n Object.entries(window.cancelTokens).forEach(([requestId, cancel]) => {\r\n // Cancel request\r\n cancel()\r\n // Remove cancelToken from cancelTokens object\r\n delete window.cancelTokens[requestId]\r\n })\r\n\r\n /*\r\n * Check if user is authenticated\r\n */\r\n\r\n // Set user model from localStorage.token\r\n store.dispatch('auth/checkAuth')\r\n\r\n // isLoggedIn variable\r\n let isLoggedIn = store.getters['auth/isLoggedIn']\r\n\r\n // Allow Anonymous\r\n if (to.matched.some((record) => record.meta.allowAnonymous)) {\r\n next()\r\n // Not authenticated\r\n } else if (!isLoggedIn) {\r\n next('/login')\r\n // Handle \"Home\" redirection\r\n } else if (isLoggedIn && to.name === 'Home') {\r\n if (store.getters['auth/loggedUser'].role !== 'User') {\r\n next('/location')\r\n } else {\r\n next('/survey')\r\n }\r\n // Authenticated and has permission to view route\r\n } else if (isLoggedIn && store.getters['auth/hasPermission']({ resource: to.name })) {\r\n next()\r\n // Forbidden\r\n } else {\r\n next('/403')\r\n }\r\n}\r\n\r\nexport default guardRoute\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/guard-route.js","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\nimport routes from './routes'\r\nimport guardRoute from './guard-route'\r\n\r\nVue.use(Router)\r\n\r\nconst router = new Router(routes)\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n guardRoute(to, from, next)\r\n})\r\n\r\nexport default router\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","export default {\r\n building: (state) => state.building,\r\n buildings: (state) => state.buildings\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/building/getters.js","import * as types from './types'\r\n\r\nexport default {\r\n [types.SET_LOCATION] (state, location) {\r\n let _logoBase64 = null\r\n if (location.logo !== null) {\r\n _logoBase64 = 'data:' + location.logoContentType + ';base64,' + location.logo\r\n }\r\n state.location = {\r\n id: location.id,\r\n accountNumber: location.accountNumber,\r\n name: location.name,\r\n timeZone: location.timeZone,\r\n stateID: location.stateID,\r\n logo: [],\r\n logoBase64: _logoBase64\r\n }\r\n },\r\n [types.SET_STATES] (state, states) {\r\n state.states = states || []\r\n },\r\n [types.SET_LOCATIONS] (state, locations) {\r\n state.locations = locations || []\r\n },\r\n [types.ADD_LOCATION] (state, location) {\r\n state.locations.push(location)\r\n },\r\n [types.DELETE_LOCATION] (state, location) {\r\n state.locations.splice(state.locations.indexOf(location), 1)\r\n },\r\n [types.RESET_LOCATION] (state) {\r\n state.location = {\r\n id: 0,\r\n accountNumber: null,\r\n name: null,\r\n timeZone: null,\r\n stateID: null,\r\n /**\r\n * This is where the file selected in the input is stored\r\n * @type {Array} - Array of File() objects\r\n */\r\n logo: [],\r\n /**\r\n * This is only used when we get data from the API.\r\n * @example \"image/png\"\r\n */\r\n logoContentType: null,\r\n /**\r\n * File converted as base64. Used to display the image in DOM\r\n */\r\n logoBase64: null\r\n }\r\n },\r\n [types.SET_KPI_STATS] (state, kpiStats) {\r\n state.kpiStats = kpiStats\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/mutations.js","import { api, startLoading, endLoading } from '@/api'\r\nimport router from '@/router'\r\nimport * as types from './types'\r\n\r\nexport default {\r\n /**\r\n * Authenticate user's credential\r\n * @param {Object} params - User's email address and password as `{ email: null, password: null}`\r\n */\r\n async authUser({ commit, dispatch }, params) {\r\n let loaderName = 'authUser'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .authUser(params)\r\n .then(response => {\r\n // Set token to localStorage\r\n localStorage.token = response.data.token.access_token\r\n\r\n // Set location logo in localStorage\r\n let location = response.data.location\r\n if (location.logo !== null) {\r\n localStorage.locationLogo =\r\n 'data:' + location.logoContentType + ';base64,' + location.logo\r\n }\r\n\r\n // User loggedUser vuex model\r\n commit(types.SET_USER)\r\n\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch(error => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Request new password\r\n * @param {String} email - User's email address\r\n */\r\n async requestPasswordReset({ commit, dispatch }, email) {\r\n let loaderName = 'requestPasswordReset'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .requestPasswordReset({ email: email })\r\n .then(response => {\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch(error => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Set new password\r\n * @param {Object} user - User object with email and password\r\n */\r\n async setNewPassword({ commit, dispatch }, user) {\r\n let loaderName = 'setNewPassword'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .setNewPassword(user)\r\n .then(response => {\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch(error => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * This function is used everytime the route changes, to validad the user is authenticated.\r\n */\r\n checkAuth({ commit }) {\r\n commit(types.SET_USER)\r\n },\r\n /**\r\n * Log out user\r\n */\r\n logOut({ commit }) {\r\n commit(types.LOGOUT)\r\n router.push('/login')\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/actions.js","export default {\r\n users: [],\r\n roles: []\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/state.js","// vuex-loading\r\nimport { createActionHelpers } from 'vuex-loading'\r\nconst { startLoading, endLoading } = createActionHelpers({\r\n moduleName: 'loading'\r\n})\r\n\r\nconst api = {}\r\nconst files = require.context('./endpoints', true, /\\.js$/)\r\n\r\n// TODO: Current caveat is that we can't have multiple endpoints with the same name.\r\n// For e.g.: Users/GetAll and Locations/GetAll since both will be technically be named GetAll\r\n// We need to find a way to identify [controller]/[action] instead\r\nfiles.keys().forEach(path => {\r\n const endpoint = files(path)\r\n Object.keys(endpoint).forEach(x => {\r\n Object.keys(endpoint[x]).forEach(y => {\r\n Object.defineProperty(api, y, { value: endpoint[x][y] })\r\n })\r\n })\r\n})\r\n\r\nexport { api, startLoading, endLoading }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/index.js","export const ADD_LOCATION = 'ADD_LOCATION'\r\nexport const DELETE_LOCATION = 'DELETE_LOCATION'\r\nexport const SET_LOCATION = 'SET_LOCATION'\r\nexport const SET_LOCATIONS = 'SET_LOCATIONS'\r\nexport const SET_STATES = 'SET_STATES'\r\nexport const RESET_LOCATION = 'RESET_LOCATION'\r\n\r\nexport const SET_KPI_STATS = 'SET_KPI_STATS'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/types.js","import { api, startLoading, endLoading } from '@/api'\r\nimport { downloadReport } from './complex/downloadReport'\r\nimport * as types from './types'\r\n\r\nexport default {\r\n /**\r\n * Reset survey value\r\n */\r\n resetSurvey ({ commit }) {\r\n commit(types.RESET_SURVEY)\r\n },\r\n /**\r\n * Get all surveys\r\n * @param {Object} params - SearchOptions object\r\n */\r\n async getSurveysByLocation ({ commit, dispatch }, params) {\r\n let loaderName = 'getSurveysByLocation'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getSurveysByLocation(params)\r\n .then((response) => {\r\n commit(types.SET_SURVEYS, response.data.items)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data.count)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get surveys assigned to user\r\n * @param {Object} params - SearchOptions object\r\n */\r\n async getSurveysAssignedToUser ({ commit, dispatch }, params) {\r\n let loaderName = 'getSurveysAssignedToUser'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getSurveysAssignedToUser(params)\r\n .then((response) => {\r\n commit(types.SET_SURVEYS, response.data.items)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data.count)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get all survey types\r\n */\r\n async getSurveyTypes ({ commit, dispatch }) {\r\n let loaderName = 'getSurveyTypes'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getSurveyTypes()\r\n .then((response) => {\r\n commit(types.SET_SURVEY_TYPES, response.data)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get survey by ID\r\n * @param {Number} surveyID - Survey ID\r\n */\r\n async getSurvey ({ commit, dispatch }, surveyID) {\r\n let loaderName = 'getSurvey'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getSurvey(surveyID)\r\n .then((response) => {\r\n commit(types.SET_SURVEY, response.data)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get buildingNote by survey\r\n * @param {Number} surveyID - Survey ID\r\n */\r\n async getBuildingNotes ({ commit, dispatch }, surveyId) {\r\n let loaderName = 'getBuildingNotes'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getBuildingNotes(surveyId)\r\n .then((response) => {\r\n commit(types.SET_BUILDING_NOTE, response.data)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get survey by Key\r\n * @param {Number} surveyID - Survey ID\r\n */\r\n async getSurveyByKey ({ commit, dispatch }, { key, userId }) {\r\n let loaderName = 'getSurveyByKey'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getSurveyByKey({ key, userId })\r\n .then((response) => {\r\n commit(types.SET_SURVEY, response.data)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get all surveys\r\n * @param {Object} survey - Object with buildingID and assignedTo\r\n */\r\n async assignSurvey ({ commit, dispatch }, survey) {\r\n let loaderName = 'assignSurvey'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .assignSurvey(survey)\r\n .then((response) => {\r\n commit(types.UPDATE_INCOMPLETE_SURVEYS_COUNT, 1)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Update a survey answer\r\n */\r\n async updateSurvey ({ commit, dispatch, state }, isSurveyComplete) {\r\n let loaderName = 'updateSurvey'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n // Create an object with the required format: Example: [{ questionID: 1, answerID: 4, photos: [] }, { questionID: 2, answerID: 3, photos: [] }]\r\n let answers = state.survey\r\n answers = answers.map((x) => {\r\n return {\r\n questionId: x.question.id,\r\n answerId: x.answer.id,\r\n photos: x.answer.photos || [],\r\n comments: x.answer.comments || []\r\n }\r\n })\r\n // Update on database\r\n api\r\n .updateSurvey({\r\n id: state.surveyDetails.id,\r\n answers: JSON.stringify(answers),\r\n isComplete: isSurveyComplete\r\n })\r\n .then((response) => {\r\n endLoading(dispatch, loaderName)\r\n if (isSurveyComplete) {\r\n commit(types.UPDATE_INCOMPLETE_SURVEYS_COUNT, -1)\r\n }\r\n resolve(response)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Update a survey answer\r\n * @param {FormData} formData - FormData with photo, auditId, questionId\r\n * @param {Number} surveyId - Survey ID\r\n * @param {Number} questionId - Question ID\r\n */\r\n async uploadSurveyPhoto ({ commit, dispatch, state }, { formData, surveyId, questionId }) {\r\n let loaderName = 'uploadSurveyPhoto'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .uploadSurveyPhoto(formData)\r\n .then((response) => {\r\n if (response.data) {\r\n commit(types.ADD_PHOTO, { questionId, filename: response.data })\r\n resolve(response.data)\r\n } else {\r\n reject(new Error('Something went wrong!'))\r\n }\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Delete a survey answer\r\n * @param {Number} questionId - QuestionID\r\n * @param {String} filename - Filename\r\n */\r\n async deleteSurveyPhoto ({ commit, dispatch, state }, { surveyId, questionId, filename }) {\r\n let loaderName = 'deleteSurveyPhoto'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .deleteSurveyPhoto({ surveyId, questionId, filename })\r\n .then((response) => {\r\n if (response) {\r\n commit(types.REMOVE_PHOTO, { questionId, filename })\r\n resolve(response)\r\n } else {\r\n reject(new Error('Something went wrong'))\r\n }\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Update a business note\r\n * @param {Number} auditId - AuditId\r\n * @param {String} comment - Comment\r\n * @param {Number} isDefault - default\r\n */\r\n async updateBuildingNote ({ commit, dispatch, state }, { surveyId, comment, isDefault }) {\r\n let loaderName = 'updateBuildingNote'\r\n startLoading(dispatch, loaderName)\r\n console.log(comment)\r\n state.surveyDetails.buildingNotes = comment\r\n // console.log(state)\r\n // console.log(state.surveyDetails)\r\n // console.log(state.surveyDetails.buildingNotes)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .updateBuildingNote({ surveyId, comment, isDefault })\r\n .then((response) => {\r\n if (response) {\r\n // commit(types.UPDATE_BUILDING_NOTE, { surveyId, comment, isDefault })\r\n resolve(response)\r\n } else {\r\n reject(new Error('Something went wrong'))\r\n }\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Notify admins when a survey is complete\r\n * @param {Number} questionId - QuestionID\r\n * @param {String} filename - Filename\r\n */\r\n async notifyAdminsSurveyIsComplete ({ commit, dispatch, state }) {\r\n let loaderName = 'notifyAdminsSurveyIsComplete'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .notifyAdminsSurveyIsComplete(state.surveyDetails.id)\r\n .then((response) => {\r\n if (response) {\r\n resolve(response)\r\n } else {\r\n reject(new Error('Something went wrong'))\r\n }\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get incomplete surveys count\r\n */\r\n async getIncompleteSurveysCount ({ commit, dispatch, state }) {\r\n let loaderName = 'getIncompleteSurveysCount'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getIncompleteSurveysCount()\r\n .then((response) => {\r\n commit(types.SET_INCOMPLETE_SURVEYS_COUNT, response.data)\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get Labor Analysis by location\r\n */\r\n async getLaborAnalysis ({ commit, dispatch, state }, locationId) {\r\n let loaderName = 'getLaborAnalysis'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getLaborAnalysis(locationId)\r\n .then((response) => {\r\n resolve(response.data)\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Send report by email\r\n * @param {String} email - recipient email address\r\n */\r\n async sendReportByEmail ({ commit, dispatch, state }, email) {\r\n let loaderName = 'sendReportByEmail'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .sendReportByEmail({ surveyKey: state.surveyDetails.key.toLowerCase(), email })\r\n .then((response) => {\r\n resolve(response.data)\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Download Report\r\n * @param {Object} survey - Survey\r\n */\r\n downloadReport\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/survey/actions.js","export default {\r\n loggedUser: (state) => state.loggedUser,\r\n isLoggedIn: (state) => {\r\n return state.loggedUser.token !== null\r\n },\r\n hasPermission: (state, rootState) => ({ resource, operation = 'View' }) => {\r\n return (\r\n rootState.loggedUser.permissions.filter(\r\n (x) =>\r\n x.resource === resource && (x.operationsList.split(',').includes(operation) || x.operationsList === 'All')\r\n ).length === 1\r\n )\r\n },\r\n isRoutePublic: state => route => {\r\n // Using getters with extra arguments: https://goo.gl/7kQaiF\r\n return typeof route.meta.isPublic !== 'undefined'\r\n },\r\n menuItems: (state, rootState) => {\r\n let menuItems = [\r\n {\r\n name: 'Locations',\r\n route: '/location',\r\n description: 'Optional brief description.',\r\n icon: 'bank',\r\n showReportIcon: true,\r\n isAdminOnly: true\r\n },\r\n {\r\n name: 'Users',\r\n route: '/user',\r\n description: 'Optional brief description.',\r\n icon: 'account-multiple',\r\n showReportIcon: false,\r\n isAdminOnly: true\r\n },\r\n {\r\n name: 'Groups',\r\n route: '/group',\r\n description: 'Optional brief description.',\r\n icon: 'cube',\r\n showReportIcon: true,\r\n isAdminOnly: true\r\n },\r\n {\r\n name: 'Buildings',\r\n route: '/building',\r\n description: 'Optional brief description.',\r\n icon: 'domain',\r\n showReportIcon: true,\r\n isAdminOnly: true\r\n },\r\n {\r\n name: 'Surveys',\r\n route: '/survey',\r\n description: 'Optional brief description.',\r\n showReportIcon: false,\r\n icon: 'animation'\r\n }\r\n ]\r\n\r\n return rootState.loggedUser.role === 'User' ? menuItems.filter((x) => !x.isAdminOnly) : menuItems\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/getters.js","import http from '@/api/common'\r\n\r\nexport default {\r\n getDashboard (params) {\r\n return http.get('building/get', params)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/endpoints/lookup.js","import * as types from './types'\r\nimport jwtDecode from 'jwt-decode'\r\n\r\nexport default {\r\n [types.SET_USER] (state) {\r\n try {\r\n let token = localStorage.token\r\n if (token) {\r\n let _user = JSON.parse(jwtDecode(token).user)\r\n state.loggedUser = {\r\n token,\r\n email: _user.email,\r\n role: _user.roles[0].name,\r\n permissions: _user.permissions,\r\n location: _user.location,\r\n locationLogo: typeof localStorage.locationLogo === 'undefined' ? null : localStorage.locationLogo\r\n }\r\n } else {\r\n state.loggedUser = { token: null, email: null, role: null }\r\n }\r\n } catch (e) {\r\n throw e\r\n }\r\n },\r\n [types.LOGOUT] (state) {\r\n localStorage.clear()\r\n state.loggedUser = { token: null, email: null, role: null }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/auth/mutations.js","import { api, startLoading, endLoading } from '@/api'\r\nimport * as types from './types'\r\n\r\nexport default {\r\n /**\r\n * Get all users by location\r\n * @param {Object} params - SearchOptions object\r\n */\r\n async getUsersByLocation ({ commit, dispatch }, params) {\r\n let loaderName = 'getUsersByLocation'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getUsersByLocation(params)\r\n .then((response) => {\r\n commit(types.SET_USERS, response.data.items)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data.count)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get roles based on user\r\n */\r\n async getRoles ({ commit, dispatch }) {\r\n let loaderName = 'getRoles'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getRoles()\r\n .then((response) => {\r\n commit(types.SET_ROLES, response.data)\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Create a new user\r\n * @param {Object} user - User's data\r\n */\r\n async createUser ({ commit, dispatch }, user) {\r\n let loaderName = 'createUser'\r\n startLoading(dispatch, loaderName)\r\n // Convert additional emails array into comma-delimiter string\r\n if (user.additionalEmailsArray.length > 0) {\r\n user.additionalEmails = user.additionalEmailsArray.map((ae) => ae.email).join(',')\r\n }\r\n return new Promise((resolve, reject) => {\r\n api\r\n .createUser(user)\r\n .then((response) => {\r\n // Note: If there's no data, it means that the user already exists\r\n if (response.data !== '') {\r\n commit(types.ADD_USER, response.data)\r\n resolve(response.data)\r\n } else {\r\n reject(new Error('We found an existing user with the email address provided.'))\r\n }\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n .then(() => {\r\n user.additionalEmails = []\r\n })\r\n })\r\n },\r\n /**\r\n * Update an existing user\r\n * @param {Object} user - User's data\r\n */\r\n async updateUser ({ commit, dispatch }, user) {\r\n let loaderName = 'updateUser'\r\n startLoading(dispatch, loaderName)\r\n // Convert additional emails array into comma-delimiter string\r\n if (user.additionalEmailsArray.length > 0) {\r\n user.additionalEmails = user.additionalEmailsArray.map((ae) => ae.email).join(',')\r\n }\r\n if (user.additionalLocationsArray.length > 0) {\r\n user.additionalLocations = user.additionalLocationsArray.map((al) => al.location).join(',')\r\n }\r\n return new Promise((resolve, reject) => {\r\n api\r\n .updateUser(user)\r\n .then((response) => {\r\n // Note: If there's no data, it means that the user already exists\r\n if (response.data === -1) {\r\n reject(new Error('We found an existing user with the email address provided.'))\r\n }\r\n if (response.data === 0) {\r\n reject(new Error('There was an error updating the user.'))\r\n } else {\r\n resolve(response.data)\r\n }\r\n endLoading(dispatch, loaderName)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n .then(() => {\r\n user.additionalEmails = []\r\n })\r\n })\r\n },\r\n /**\r\n * Delete an existing user\r\n * @param {Object} user - User's data\r\n */\r\n async deleteUser ({ commit, dispatch }, user) {\r\n let loaderName = 'deleteUser'\r\n startLoading(dispatch, loaderName)\r\n return new Promise((resolve, reject) => {\r\n api\r\n .deleteUser({ id: user.id })\r\n .then((response) => {\r\n commit(types.DELETE_USER, user)\r\n endLoading(dispatch, loaderName)\r\n resolve(response)\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n },\r\n /**\r\n * Get a user\r\n * @param {Number} userID - User's ID\r\n */\r\n async getUser ({ commit, dispatch }, userID) {\r\n let loaderName = 'getUser'\r\n startLoading(dispatch, loaderName)\r\n\r\n return new Promise((resolve, reject) => {\r\n api\r\n .getUser(userID)\r\n .then((response) => {\r\n if (response.data === '') {\r\n reject(new Error('User not found.'))\r\n } else {\r\n endLoading(dispatch, loaderName)\r\n resolve(response.data)\r\n }\r\n })\r\n .catch((error) => {\r\n endLoading(dispatch, loaderName)\r\n reject(error)\r\n })\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/actions.js","import http from '@/api/common'\r\n\r\nexport default {\r\n getStates () {\r\n return http.get(`location/getstates`)\r\n },\r\n getLocation (locationID) {\r\n return http.get(`location/get?id=${locationID}`)\r\n },\r\n getLocationsByUser (params) {\r\n return http.get('location/getbyuser', { params })\r\n },\r\n createLocation (location) {\r\n return http.post('location/create', location)\r\n },\r\n updateLocation (location) {\r\n return http.post('location/update', location)\r\n },\r\n deleteLocation (location) {\r\n return http.post('location/delete', location)\r\n },\r\n getReportKPI (locationID) {\r\n let params = typeof locationID !== 'undefined' ? `?locationID=${locationID}` : ''\r\n return http.post(`location/getreportkpi${params}`)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/endpoints/locations.js","export const ADD_BUILDING = 'ADD_BUILDING'\r\nexport const DELETE_BUILDING = 'DELETE_BUILDING'\r\nexport const SET_BUILDING = 'SET_BUILDING'\r\nexport const SET_BUILDINGS = 'SET_BUILDINGS'\r\nexport const RESET_BUILDING = 'RESET_BUILDING'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/building/types.js","export default {\r\n states: [],\r\n location: {\r\n id: 0,\r\n accountNumber: null,\r\n name: null,\r\n timeZone: null,\r\n stateID: null,\r\n /**\r\n * This is where the file selected in the input is stored\r\n * @type {Array} - Array of File() objects\r\n */\r\n logo: [],\r\n /**\r\n * This is only used when we get data from the API.\r\n * @example \"image/png\"\r\n */\r\n logoContentType: null,\r\n /**\r\n * File converted as base64. Used to display the image in DOM\r\n */\r\n logoBase64: null\r\n },\r\n locations: [],\r\n kpiStats: {}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/location/state.js","import Vue from 'vue'\r\nimport axios from 'axios'\r\n\r\nconst http = axios.create()\r\n\r\nwindow.cancelTokens = []\r\nwindow.whitelistedApiEndpoints = ['location/getreportkpi', 'other/endpoint']\r\n\r\n// Add request interceptor\r\naxios.interceptors.request.use(\r\n config => {\r\n // Add token to request\r\n if (typeof localStorage.token !== 'undefined') {\r\n config.headers['Authorization'] = 'Bearer ' + localStorage.token\r\n }\r\n\r\n // Do not include whitelisted api endpoints to cancelTokens\r\n if (\r\n window.whitelistedApiEndpoints.some((el, i, a) => {\r\n return config.url.includes(el)\r\n })\r\n ) {\r\n return config\r\n }\r\n\r\n // Create CancelToken (Only 'get' requests)\r\n if (config.method === 'get') {\r\n var source = axios.CancelToken.source()\r\n\r\n // Append 'cancelToken' and 'cancelTokenId' to the request\r\n config.cancelToken = source.token\r\n config.cancelTokenId = Math.trunc(Math.random() * 10000000000000000)\r\n\r\n // Add 'cancelToken' and 'cancelTokenId' to localStorage cancelTokens object, so we can search by its id and cancel it later if needed\r\n window.cancelTokens[config.cancelTokenId] = source.cancel\r\n }\r\n\r\n return config\r\n },\r\n error => {\r\n // Do something with request error\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n// Add response interceptors\r\naxios.interceptors.response.use(\r\n response => {\r\n // Remove request's cancelToken\r\n delete window.cancelTokens[response.config.cancelTokenId]\r\n return response\r\n },\r\n error => {\r\n // TODO: Are we logging these errors?\r\n // console.error(`Error from interceptor: ${error}`)\r\n // console.error(`Error from interceptor: ${JSON.stringify(error.response)}`)\r\n // console.error(`Error from interceptor: ${JSON.stringify(error.request)}`)\r\n // console.error(`Error from interceptor: ${error.message}`)\r\n // console.error(`Error from interceptor: ${JSON.stringify(error.config)}`)\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n// Axios Common Base Instance (resource: https://goo.gl/sDN0IN)\r\nexport default {\r\n get: (endpoint, data = {}) => {\r\n return axios.get(`${window.config.apiUrl}${endpoint}`, data)\r\n },\r\n post: (endpoint, data = {}, config = {}) => {\r\n return axios.post(`${window.config.apiUrl}${endpoint}`, data, config)\r\n }\r\n}\r\n\r\n// Add 'http' as a Vue property\r\nObject.defineProperties(Vue.prototype, {\r\n $http: {\r\n get() {\r\n return http\r\n }\r\n }\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/common.js","export const SET_USERS = 'SET_USERS'\r\nexport const SET_ROLES = 'SET_ROLES'\r\nexport const ADD_USER = 'ADD_USER'\r\nexport const DELETE_USER = 'DELETE_USER'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/user/types.js","export default {\r\n group: {\r\n id: 0,\r\n name: null,\r\n surveyTypeID: null,\r\n locationID: null,\r\n k12Education: null\r\n },\r\n groups: []\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/group/state.js","var map = {\n\t\"./auth/actions.js\": \"fHbC\",\n\t\"./auth/getters.js\": \"iwwM\",\n\t\"./auth/index.js\": \"CZ0x\",\n\t\"./auth/mutations.js\": \"m3mU\",\n\t\"./auth/state.js\": \"MACa\",\n\t\"./auth/types.js\": \"FaS0\",\n\t\"./building/actions.js\": \"Udy6\",\n\t\"./building/getters.js\": \"eQWc\",\n\t\"./building/index.js\": \"URIv\",\n\t\"./building/mutations.js\": \"BTZ4\",\n\t\"./building/state.js\": \"91z3\",\n\t\"./building/types.js\": \"purW\",\n\t\"./group/actions.js\": \"NqJc\",\n\t\"./group/getters.js\": \"32er\",\n\t\"./group/index.js\": \"BE+c\",\n\t\"./group/mutations.js\": \"IQQ3\",\n\t\"./group/state.js\": \"vQoZ\",\n\t\"./group/types.js\": \"RSAf\",\n\t\"./location/actions.js\": \"1B2Z\",\n\t\"./location/getters.js\": \"UtrA\",\n\t\"./location/index.js\": \"Wnle\",\n\t\"./location/mutations.js\": \"fEVg\",\n\t\"./location/state.js\": \"saQm\",\n\t\"./location/types.js\": \"hYPG\",\n\t\"./survey/actions.js\": \"iNxn\",\n\t\"./survey/complex/downloadReport.js\": \"RVol\",\n\t\"./survey/getters.js\": \"MTQB\",\n\t\"./survey/index.js\": \"CEoQ\",\n\t\"./survey/mutations.js\": \"18r6\",\n\t\"./survey/state.js\": \"GzR+\",\n\t\"./survey/types.js\": \"USel\",\n\t\"./user/actions.js\": \"nDDf\",\n\t\"./user/getters.js\": \"ANWq\",\n\t\"./user/index.js\": \"LWU+\",\n\t\"./user/mutations.js\": \"VKxC\",\n\t\"./user/state.js\": \"glhi\",\n\t\"./user/types.js\": \"tBN9\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"w+hY\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/store/modules \\.js$\n// module id = w+hY\n// module chunks = 22"],"sourceRoot":""}
\r\n \r\n \r\n \r\n \r\n {{ loggedUser.location }}\r\n \r\n
Key Performance Indicators
\r\n Getting stats...\r\n
\r\n {{ i }} \r\n \r\n {{ stat }}\r\n \r\n