{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/Home.vue?f2b4","webpack:///./src/assets/RFA-Logo.png","webpack:///./src/views/TrainingRecordDetails.vue?67df","webpack:///./src/views/TrainingRecords.vue?0ee3","webpack:///./src/models/Dog.ts","webpack:///./src/App.vue","webpack:///./src/utils/CurrentUser.ts","webpack:///./src/views/DogProfileDetails.vue","webpack:///./src/DTOs/DogDetailDTO.ts","webpack:///./src/utils/FileHelper.ts","webpack:///./src/utils/MultiSelectUtil.ts","webpack:///./src/views/DogProfileDetails.vue?3db1","webpack:///./src/views/DogProfileDetails.vue?97b8","webpack:///./src/views/DogProfileDetails.vue?557e","webpack:///./src/views/DogProfiles.vue","webpack:///./src/views/DogProfiles.vue?f0db","webpack:///./src/views/DogProfiles.vue?385c","webpack:///./src/views/DogProfiles.vue?6cb4","webpack:///./src/views/HandlerProfiles.vue","webpack:///./src/views/HandlerProfiles.vue?ee1b","webpack:///./src/views/HandlerProfiles.vue?5e6c","webpack:///./src/views/HandlerProfiles.vue?54e0","webpack:///./src/views/HandlerProfileDetails.vue","webpack:///./src/views/HandlerProfileDetails.vue?65be","webpack:///./src/views/HandlerProfileDetails.vue?a1fa","webpack:///./src/views/HandlerProfileDetails.vue?10be","webpack:///./src/views/TrainingRecords.vue","webpack:///./src/views/TrainingRecords.vue?6c67","webpack:///./src/views/TrainingRecords.vue?20a5","webpack:///./src/views/TrainingRecords.vue?30b8","webpack:///./src/views/TrainingRecordDetails.vue","webpack:///./src/utils/DateTimeUtil.ts","webpack:///./src/views/TrainingRecordDetails.vue?687c","webpack:///./src/views/TrainingRecordDetails.vue?1c02","webpack:///./src/views/TrainingRecordDetails.vue?b377","webpack:///./src/views/TAPRecords.vue","webpack:///./src/views/TAPRecords.vue?9bab","webpack:///./src/views/TAPRecords.vue?b99f","webpack:///./src/views/TAPRecords.vue?0c6c","webpack:///./src/views/TAPRecordDetails.vue","webpack:///./src/views/TAPRecordDetails.vue?a39a","webpack:///./src/views/TAPRecordDetails.vue?ec42","webpack:///./src/views/TAPRecordDetails.vue?50fa","webpack:///./src/views/Admin.vue","webpack:///./src/views/Admin.vue?e012","webpack:///./src/views/Admin.vue?cbfe","webpack:///./src/views/Admin.vue?80e2","webpack:///./src/views/Login.vue","webpack:///./src/views/Login.vue?805f","webpack:///./src/views/Login.vue?0409","webpack:///./src/views/Login.vue?b6b6","webpack:///./src/views/Home.vue","webpack:///./src/views/Home.vue?88c7","webpack:///./src/views/Home.vue?6b48","webpack:///./src/views/Home.vue?86b4","webpack:///./src/views/Admin/ManageDropdowns.vue","webpack:///./src/views/Admin/ManageDropdowns.vue?bd6e","webpack:///./src/views/Admin/ManageDropdowns.vue?3222","webpack:///./src/views/Admin/ManageDropdowns.vue?89c0","webpack:///./src/views/Admin/ManageTeams.vue","webpack:///./src/views/Admin/ManageTeams.vue?0b75","webpack:///./src/views/Admin/ManageTeams.vue?628d","webpack:///./src/views/Admin/ManageTeams.vue?c3d2","webpack:///./src/views/Admin/ManageLocations.vue","webpack:///./src/views/Admin/ManageLocations.vue?e1e3","webpack:///./src/views/Admin/ManageLocations.vue?2017","webpack:///./src/views/Admin/ManageLocations.vue?33e5","webpack:///./src/views/Admin/ManageUsers.vue","webpack:///./src/views/Admin/ManageUsers.vue?ab63","webpack:///./src/views/Admin/ManageUsers.vue?c602","webpack:///./src/views/Admin/ManageUsers.vue?8f12","webpack:///./src/views/Admin/Reports.vue","webpack:///./src/views/Admin/Reports.vue?4bea","webpack:///./src/views/Admin/Reports.vue?7e60","webpack:///./src/views/Admin/Reports.vue?8d9f","webpack:///./src/views/ForgotPassword.vue","webpack:///./src/views/ForgotPassword.vue?7dcc","webpack:///./src/views/ForgotPassword.vue?32a9","webpack:///./src/views/ForgotPassword.vue?a057","webpack:///./src/router/index.ts","webpack:///./src/utils/api.ts","webpack:///./src/App.vue?dad8","webpack:///./src/App.vue?18c8","webpack:///./src/App.vue?3746","webpack:///./src/plugins/vuetify.ts","webpack:///./src/main.ts","webpack:///./src/App.vue?6292"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","Sex","staticClass","attrs","staticStyle","_c","$event","_vm","on","drawer","model","changePasswordDialog","callback","expression","ref","showOldPassword","currentPassword","showNewPassword","newPassword","changePassword","showSaveSuccess","$$v","showErrorMessage","render","hasPermission","permission","currentUser","localStorage","getItem","userRole","JSON","parse","UserRole","userPermissions","Permissions","includes","currentUserRole","this","currentUserToken","UserToken","currentUserID","UserID","firstLogin","FirstLogin","resetLogin","setItem","stringify","loadingData","editMode","item","index","DogHandlers","requiredField","DogProfile","Colour","Neutered","IsDeleted","confirmArchiveRestoreModal","_v","scopedSlots","fn","dateStyle","ID","confirmDeleteFile","addFile","lastAddedFiles","confirmDeleteFileModal","staticRenderFns","DogUploadDTO","constructor","Dog","Name","Breed","MicrochipNumber","toString","Notes","allFiles","linkTable","linkTableID","success","File","uploadFileResponse","api","postWithFiles","CurrentUser","ok","delete","returnArray","substanceDetections","substanceDetection","Documents","ii","numberOfItems","items","selectedItems","sum","forEach","_length","_ref","_item$DisplayName","DisplayName","FullName","$el","offsetWidth","DogProfileDetails","Vue","savingData","uploadingFiles","showError","errorText","valid","newDogProfile","id","fileForDeletion","Male","handlerItems","Sexes","Female","headers","text","sortable","width","fileVMs","dogDetailResponse","Handlers","map","h","Email","UserName","$refs","form","validate","dogUploadDTO","dogDetailUploadResponse","post","dogProfileID","addDeleteFilesResponse","FileHelper","addDeleteFiles","$router","_dogDetailUploadRespo","$nextTick","el","querySelector","yOffset","y","getBoundingClientRect","top","pageYOffset","scrollTo","behavior","handlerDetailUploadResponse","_handlerDetailUploadR","goBack","router","back","file","FileType","split","pop","Uploaded","Date","ExternalFileName","InternalFileName","fileInfo","DownloadFile","link","href","download","click","indexOf","mounted","addEventListener","detectResizeForHandlerSelect","updated","handlerMultiSelect","MultiSelectUtil","__decorate","Prop","Number","Component","component","search","DogProfiles","selectedBreed","select","showArchived","filterable","dogProfiles","dogProfilesFiltered","breeds","dogProfileResponse","filter","filterDogProfiles","viewEditDogProfile","createNewDogProfile","checkPermission","getRowClass","handlerProfiles","HandlerProfiles","handlerProfileResponse","viewEditHandlerProfile","HandlerDogs","HandlerProfile","saveHandlerProfile","HandlerProfileDetails","newHandlerProfile","dogItems","FirstName","Surname","SIANumber","UserRoles","documents","FileName","now","handlerDetailResponse","UserDTO","ur","detectResizeForDogSelect","dogMultiSelect","openedPanel","searchFields","HandlerSearch","filtersChanged","filterOptions","Locations","searchRecords","createNewTrainingRecord","expanded","viewEditTrainingRecord","Status","class","timeStyle","directives","onScroll","fab","TrainingRecords","loadingRecords","totalRecords","pagingData","page","itemsPerPage","sortBy","sortDesc","DogSearch","LocationSearch","TaskSearch","SubstanceSearch","StatusSearch","KnownBlindSearch","PositiveBlankSearch","VisualHiddenSearch","OnOffLeadSearch","IncludeArchived","canAddRecords","Tasks","Substances","Statuses","trainingRecords","trainingDropdownsResponse","filterRequired","storedPagingData","storedSearchFields","savePagingData","loadRecords","scrollToResults","pagingDataEntry","trainingRecordsResponse","_trainingRecordsRespo","_trainingRecordsRespo2","_trainingRecordsRespo3","_trainingRecordsRespo4","PagedTrainingRecords","Total","cellIndex","resetFilter","entries","removeItem","scrollTop","toTop","$vuetify","goTo","expandClick","Handler","$set","slot","TrainingRecord","DogHandlerTeam","date","dateModal","input","time","timeModal","durationValidation","duration","decodeHtml","TrainingIndications","Indication","requiredFieldObj","TrainingTasks","SetupPositiveBlank","SetupVisualHidden","SetupOnOffLead","addNewSubstanceDetection","_l","SubstancePackaging","_s","image","addSubstanceDetectionFileClick","removeSubstanceDetection","HandlerApproved","submittingTrainerSig","_e","TrainerApproved","submittingHandlerSig","isTrainer","isHandler","addSubstanceDetectionFile","substanceDetectionLastAddedFiles","confirmDeleteModal","showSignatureRequired","rawName","splitDate","inDate","getTime","getTimezoneOffset","toISOString","join","createDateTime","inTime","splitTimeMinutes","totalMinutes","hours","minutes","convertToMinutes","TrainingRecordDetails","activePicker","durationModal","durationError","Hours","Minutes","weatherItems","selectedSubstanceDetectionFiles","Completed","Location","Type","Task","Trainer","Temperature","Weather","SetupKnownBlind","Goal","TrainerObservation","HandlerComment","SubstanceDetections","TrainingLocations","TrainingTypes","SubstanceDetectionTypes","WeatherConditions","trainerSignature","handlerSignature","substanceDetectionToRemove","DogHandlerTeams","numericField","test","v","Boolean","keys","teamRequiredField","trainingRecordDetailResponse","_this$TrainingRecord$","responseData","LocationOptions","TrainingTypeOptions","TrainingTaskOptions","TrainingIndicationOptions","SubstanceOptions","SubstanceTypeOptions","SubstancePackagingOptions","WeatherOptions","DateTimeUtil","DurationMinutes","trainerSignatureResponse","getFile","URL","createObjectURL","handlerSignatureResponse","updateTrainingRecordIDs","returnedTrainingRecord","trainingRecordUploadResponse","addDeleteSubstanceDetectionFiles","_trainingRecordUpload","scrollToInvalidField","emptyHandlerSignature","handlerSignaturePad","isEmpty","saveSignature","saveTrainingRecord","emptyTrainerSignature","trainerSignaturePad","signatureType","signatureUploadResponse","FileBase64string","TrainingRecordID","newSubstanceDetection","Amount","HideLocation","Observations","Substance","AtHeight","confirmRemoveSubstanceDetection","undoTrainerSig","undoSignature","undoHandlerSig","html","txt","innerHTML","_trainingRecordUpload2","substanceDetectionFiles","SubstanceDetectionDocumentUpload","detectResizeForWeatherSelect","weatherMultiSelect","$","toggleClass","TAPRecords","PagedTAPRecords","val","TAPRecord","dateDialog","TAPRecordDetails","Comments","TAPRecordDetailResponse","_this$TAPRecord$DogHa","TAPRecordUploadResponse","_TAPRecordUploadRespo","_TAPRecordUploadRespo2","hover","Admin","pages","icon","description","location","submit","password","rememberMe","Login","username","loginFailed","created","Username","Password","RememberMe","_result$data","_this$$route$query","ErrorMessage","replace","$route","query","redirect","outstandingItems","Home","recordsForApproval","shortText","openCTA","recordForApprovalResponse","trainingRecordPage","find","$root","$children","category","optionType","editOption","header","editOptionDialog","selectedOption","updateOption","ManageDropdowns","OptionCategory","OptionType","SortOrder","OptionCategories","Options","OptionsFiltered","OptionTypes","loadOptions","optionTypesResponse","Set","updateOptionCategory","updateOptionType","addNewOption","addedOption","_optionTypesResponse$","archiveRestoreDropdown","FilteredDog","FilteredHandler","selectedTeam","cancel","ManageTeams","addTeamDialog","confirmArchiveTeamModal","FilteredDogHandlerTeams","Dogs","dogHandlerTeamsResponse","filterTeams","dht","addNewTeam","addTeamResponse","addedTeam","_addTeamResponse$erro","confirmArchiveTeam","team","archiveTeamResponse","_archiveTeamResponse$","resetValidation","locations","addEditLocationDialog","ManageLocations","selectedLocation","Address","Code","Description","Postcode","locationResponse","addNewLocation","editLocation","updateLocationResponse","addedLocation","_updateLocationRespon","archiveRestoreLocation","addUpdateLocation","addEditUserDialog","selectedUser","userRoles","archiveRestoreUser","UserProfiles","userProfiles","userProfilesFiltered","userProfileResponse","Users","filterUserProfiles","viewEditUserProfile","createNewUserProfile","userUploadResponse","addedUser","_userUploadResponse$e","addUpdateUser","fromDate","fromDateModal","toDate","toDateModal","generateReport","runningReport","generateReportResponse","downloadPdf","DateFrom","DateTo","Team","ForgotPassword","resetFailed","resetSucceeded","use","VueRouter","routes","path","props","route","parseInt","params","ManageUsers","Reports","meta","hideNavbar","base","scrollBehavior","to","from","savedPosition","x","beforeEach","next","fullPath","baseUrl","process","INVALID_USER_TOKEN","vm","init","options","fetch","status","currentRoute","Response","fetchWithRedirect","parsedData","arrayBuffer","Blob","statusText","method","body","json","formData","FormData","append","fileID","downloadFileResponse","App","navigate","logout","cpForm","changePasswordResponse","CurrentPassword","NewPassword","userAndRole","Vuetify","defaults","VBtn","color","rounded","size","theme","themes","light","primary","secondary","bground","footer","submitted","restore","config","productionTip","vueSignature","vuetify","$mount"],"mappings":"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","file":"js/app.50714ace.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0c1cd9\":\"db140c66\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=6efbf178&prod&lang=css\"","module.exports = __webpack_public_path__ + \"img/RFA-Logo.4a344110.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainingRecordDetails.vue?vue&type=style&index=0&id=89308a38&prod&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainingRecords.vue?vue&type=style&index=0&id=4f0299dc&prod&lang=css\"","import User from \"./User\";\r\n\r\nexport default interface Dog {\r\n ID: number;\r\n Name: string;\r\n Breed: string;\r\n Colour: string;\r\n MicrochipNumber: string;\r\n Sex: Sex;\r\n Neutered: boolean;\r\n Notes: string;\r\n IsDeleted: boolean;\r\n}\r\n\r\nexport const enum Sex {\r\n Male = 'Male', \r\n Female = 'Female'\r\n}","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-app',{style:({background: _vm.$vuetify.theme.themes.light.bground})},[(!_vm.$route.meta.hideNavbar)?_c('v-navigation-drawer',{attrs:{\"temporary\":\"\",\"right\":\"\",\"app\":\"\",\"color\":\"header\",\"width\":\"275\"},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-layout',{attrs:{\"fill-height\":\"\",\"column\":\"\",\"justify-space-between\":\"\"}},[_c('v-list',{attrs:{\"nav\":\"\",\"dense\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"ml-2 mt-2\"},[_c('v-icon',{staticClass:\"pr-2\",attrs:{\"color\":\"primary\",\"medium\":\"\"}},[_vm._v(\"mdi-account-circle\")]),_c('span',{staticClass:\"v-list-item__title primary--text\",staticStyle:{\"font-size\":\"0.8rem\"}},[_vm._v(\"Logged in as:\")])],1)],1),_c('v-row',{staticClass:\"ml-10 mt-0 mb-2\"},[_c('span',{staticClass:\"v-list-item__title primary--text\",staticStyle:{\"font-size\":\"0.8rem\",\"text-wrap\":\"wrap\"}},[_c('b',[_vm._v(_vm._s(_vm.userAndRole()))])])]),_c('v-divider',{attrs:{\"color\":\"grey\"}}),_c('v-list-item',{on:{\"click\":function($event){return _vm.navigate('')}}},[_c('v-list-item-icon',{staticClass:\"nav-bar-icon\"},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-home\")])],1),_c('v-list-item-title',{staticClass:\"primary--text\"},[_vm._v(\"Home\")])],1),_c('v-divider'),(_vm.checkPermission('ViewTrainingRecords'))?_c('v-list-item',{on:{\"click\":function($event){return _vm.navigate('TrainingRecords')}}},[_c('v-list-item-icon',{staticClass:\"nav-bar-icon\"},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-clipboard-edit\")])],1),_c('v-list-item-title',{staticClass:\"primary--text\"},[_vm._v(\"Continuation Training Records\")])],1):_vm._e(),(_vm.checkPermission('ViewTrainingRecords'))?_c('v-list-item',{on:{\"click\":function($event){return _vm.navigate('TAPRecords')}}},[_c('v-list-item-icon',{staticClass:\"nav-bar-icon\"},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-clipboard-edit-outline\")])],1),_c('v-list-item-title',{staticClass:\"primary--text\"},[_vm._v(\"Training Aid Placement Records\")])],1):_vm._e(),(_vm.checkPermission('ViewTrainingRecords'))?_c('v-divider'):_vm._e(),_c('v-list-item',{on:{\"click\":function($event){return _vm.navigate('DogProfiles')}}},[_c('v-list-item-icon',{staticClass:\"nav-bar-icon\"},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-dog-side\")])],1),_c('v-list-item-title',{staticClass:\"primary--text\"},[_vm._v(\"Dog Profiles\")])],1),(_vm.checkPermission('ViewHandlers'))?_c('v-list-item',{on:{\"click\":function($event){return _vm.navigate('HandlerProfiles')}}},[_c('v-list-item-icon',{staticClass:\"nav-bar-icon\"},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-account-group\")])],1),_c('v-list-item-title',{staticClass:\"primary--text\"},[_vm._v(\"Handler Profiles\")])],1):_vm._e(),_c('v-divider'),(_vm.checkPermission('ViewAdmin'))?_c('v-list-item',{on:{\"click\":function($event){return _vm.navigate('Admin')}}},[_c('v-list-item-icon',{staticClass:\"nav-bar-icon\"},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-cogs\")])],1),_c('v-list-item-title',{staticClass:\"primary--text\"},[_vm._v(\"Admin\")])],1):_vm._e()],1),_c('v-list',{attrs:{\"nav\":\"\",\"dense\":\"\"}},[_c('v-divider'),_c('v-subheader',{staticClass:\"primary--text\"},[_vm._v(\"Account\")]),_c('v-list-item',{on:{\"click\":function($event){_vm.changePasswordDialog = true}}},[_c('v-list-item-icon',{staticClass:\"nav-bar-icon\"},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-form-textbox-password\")])],1),_c('v-list-item-title',{staticClass:\"primary--text\"},[_vm._v(\"Change Password\")])],1),_c('v-list-item',{on:{\"click\":_vm.logout}},[_c('v-list-item-icon',{staticClass:\"nav-bar-icon\"},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-open-in-new\")])],1),_c('v-list-item-title',{staticClass:\"primary--text\"},[_vm._v(\"Logout\")])],1)],1)],1)],1):_vm._e(),(!_vm.$route.meta.hideNavbar)?_c('v-app-bar',{attrs:{\"app\":\"\",\"height\":\"70\",\"color\":\"header\",\"clipped-left\":\"\"}},[_c('v-row',{attrs:{\"justify\":\"space-between\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('div',{staticStyle:{\"width\":\"80px\"}},[_c('a',[_c('v-img',{attrs:{\"alt\":\"RFA Logo\",\"contain\":\"\",\"src\":require(\"@/assets/RFA-Logo.png\")},on:{\"click\":function($event){return _vm.navigate('')}}})],1)])]),_c('v-col',{attrs:{\"cols\":\"8\",\"align\":\"center\"}},[_c('span',{staticClass:\"primary--text header-title\"},[_vm._v(\" RFA Tracking \")])]),_c('v-col',{attrs:{\"cols\":\"2\",\"align\":\"right\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){_vm.drawer=true}}},[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-dots-vertical\")])],1)],1)],1)],1):_vm._e(),_c('v-main',[_c('router-view')],1),_c('v-dialog',{attrs:{\"width\":\"auto\",\"max-width\":\"400\",\"persistent\":\"\"},model:{value:(_vm.changePasswordDialog),callback:function ($$v) {_vm.changePasswordDialog=$$v},expression:\"changePasswordDialog\"}},[_c('v-form',{ref:\"cpForm\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-card',{attrs:{\"prepend-icon\":\"mdi-update\"}},[_c('v-card-title',[_vm._v(\" Change Password \")]),_c('v-card-text',[_c('v-text-field',{attrs:{\"label\":\"Current Password\",\"color\":\"primary\",\"append-icon\":_vm.showOldPassword ? 'mdi-eye' : 'mdi-eye-off',\"type\":_vm.showOldPassword ? 'text' : 'password',\"outlined\":\"\",\"rules\":_vm.requiredField},on:{\"click:append\":function($event){_vm.showOldPassword = !_vm.showOldPassword}},model:{value:(_vm.currentPassword),callback:function ($$v) {_vm.currentPassword=$$v},expression:\"currentPassword\"}}),_c('v-text-field',{attrs:{\"label\":\"New Password\",\"color\":\"primary\",\"append-icon\":_vm.showNewPassword ? 'mdi-eye' : 'mdi-eye-off',\"type\":_vm.showNewPassword ? 'text' : 'password',\"outlined\":\"\",\"rules\":_vm.requiredField},on:{\"click:append\":function($event){_vm.showNewPassword = !_vm.showNewPassword}},model:{value:(_vm.newPassword),callback:function ($$v) {_vm.newPassword=$$v},expression:\"newPassword\"}})],1),_c('v-card-actions',[_c('v-btn',{staticClass:\"ms-auto\",attrs:{\"color\":\"primary\",\"outlined\":\"\"},on:{\"click\":_vm.cancel}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.savingData,\"loading\":_vm.savingData},on:{\"click\":_vm.changePassword}},[_vm._v(\" Save \")])],1),_c('v-snackbar',{attrs:{\"color\":\"success\",\"timeout\":\"3000\",\"elevation\":\"24\"},model:{value:(_vm.showSaveSuccess),callback:function ($$v) {_vm.showSaveSuccess=$$v},expression:\"showSaveSuccess\"}},[_vm._v(\" Password Changed successfully \")]),_c('v-snackbar',{attrs:{\"color\":\"red\",\"timeout\":\"3000\",\"elevation\":\"24\"},model:{value:(_vm.showErrorMessage),callback:function ($$v) {_vm.showErrorMessage=$$v},expression:\"showErrorMessage\"}},[_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")])],1)],1)],1),_c('v-footer',{attrs:{\"color\":\"footer\"}},[_c('v-spacer'),_vm._v(\"© 2024 RFA Security Services Ltd. \")],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import LoginResponse from '../models/LoginResponse'\r\n\r\nexport default {\r\n hasPermission(permission: string) {\r\n if (!permission) return true;\r\n let currentUser = localStorage.getItem('CurrentUser')!;\r\n let userRole = (JSON.parse(currentUser) as LoginResponse).UserRole;\r\n let userPermissions = (JSON.parse(currentUser) as LoginResponse).Permissions;\r\n\r\n return (userRole == \"Master\" || userPermissions?.includes(permission));\r\n },\r\n\r\n currentUserRole() {\r\n return this.currentUser().UserRole;\r\n },\r\n\r\n currentUser() : LoginResponse {\r\n let currentUser = localStorage.getItem('CurrentUser')!;\r\n return (JSON.parse(currentUser) as LoginResponse);\r\n },\r\n\r\n currentUserToken() {\r\n return this.currentUser().UserToken;\r\n },\r\n\r\n currentUserID() {\r\n return this.currentUser().UserID;\r\n },\r\n\r\n firstLogin(): boolean {\r\n return this.currentUser().FirstLogin;\r\n },\r\n\r\n resetLogin() {\r\n let currentUser = this.currentUser();\r\n currentUser.FirstLogin = false;\r\n localStorage.setItem('CurrentUser', JSON.stringify(currentUser));\r\n }\r\n}","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.showError)?_c('v-card',{staticClass:\"top-level-container\"},[_c('v-container',[_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}):_vm._e(),(!_vm.loadingData && _vm.newDogProfile)?_c('span',{staticClass:\"text-h6 font-weight-light pt-3\"},[_vm._v(\" New Dog Profile \")]):_vm._e(),(!_vm.loadingData && !_vm.newDogProfile)?_c('span',{staticClass:\"text-h6 font-weight-light pt-3\"},[_vm._v(\" Dog Profile - \"+_vm._s(_vm.DogProfile.Name)+\" \")]):_vm._e(),(!_vm.loadingData && _vm.DogProfile.IsDeleted)?_c('v-chip',{attrs:{\"color\":\"red\",\"label\":\"\",\"outlined\":\"\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"red\"}},[_vm._v(\" mdi-archive-outline \")]),_vm._v(\" ARCHIVED \")],1):_vm._e()],1),_c('v-divider',{staticClass:\"mb-10 mt-5\"}),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{attrs:{\"label\":\"Name\",\"outlined\":\"\",\"min-width\":\"750\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.DogProfile.Name),callback:function ($$v) {_vm.$set(_vm.DogProfile, \"Name\", $$v)},expression:\"DogProfile.Name\"}})],1),_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{ref:\"handlerMultiSelect\",attrs:{\"label\":\"Handler(s)\",\"items\":_vm.DogHandlers,\"item-text\":\"FullName\",\"outlined\":\"\",\"chips\":\"\",\"multiple\":\"\",\"disabled\":\"\"},scopedSlots:_vm._u([{key:\"selection\",fn:function({item, index}){return [(index < _vm.handlerItems)?_c('v-chip',[_c('span',[_vm._v(_vm._s(item.FullName))])]):_vm._e(),(index === _vm.handlerItems)?_c('span',{staticClass:\"text-grey text-caption align-self-center\"},[_vm._v(\" (+\"+_vm._s(_vm.DogHandlers.length - _vm.handlerItems)+\" others) \")]):_vm._e()]}}],null,false,2038430436),model:{value:(_vm.DogHandlers),callback:function ($$v) {_vm.DogHandlers=$$v},expression:\"DogHandlers\"}})],1),_c('v-col',{staticClass:\"third-col\",attrs:{\"md\":\"4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{attrs:{\"label\":\"Microchip No.\",\"outlined\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.DogProfile.MicrochipNumber),callback:function ($$v) {_vm.$set(_vm.DogProfile, \"MicrochipNumber\", $$v)},expression:\"DogProfile.MicrochipNumber\"}})],1),_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{attrs:{\"label\":\"Breed\",\"outlined\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.DogProfile.Breed),callback:function ($$v) {_vm.$set(_vm.DogProfile, \"Breed\", $$v)},expression:\"DogProfile.Breed\"}})],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"md\":\"3\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{attrs:{\"label\":\"Colour\",\"outlined\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.DogProfile.Colour),callback:function ($$v) {_vm.$set(_vm.DogProfile, \"Colour\", $$v)},expression:\"DogProfile.Colour\"}})],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"md\":\"3\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{attrs:{\"label\":\"Sex\",\"outlined\":\"\",\"items\":_vm.Sexes,\"disabled\":!_vm.editMode},model:{value:(_vm.DogProfile.Sex),callback:function ($$v) {_vm.$set(_vm.DogProfile, \"Sex\", $$v)},expression:\"DogProfile.Sex\"}})],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"cols\":\"auto\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"chip\"}}):_c('v-container',{staticClass:\"pa-0\",staticStyle:{\"max-width\":\"128px\"},on:{\"click\":function($event){_vm.DogProfile.Neutered = !_vm.DogProfile.Neutered}}},[_c('custom-checkbox',{attrs:{\"fieldChecked\":_vm.DogProfile.Neutered,\"label\":\"Neutered?\",\"disabled\":!_vm.editMode}})],1)],1)],1),_c('v-row',{attrs:{\"justify\":\"end\",\"align\":\"center\"}},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"md\":\"3\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"button\"}}):_vm._e(),(!_vm.loadingData && _vm.DogProfile.ID != 0)?_c('v-btn',{staticClass:\"white--text\",attrs:{\"color\":_vm.DogProfile.IsDeleted ? 'restore' : 'red',\"max-width\":\"125px\",\"disabled\":!_vm.editMode},on:{\"click\":function($event){_vm.confirmArchiveRestoreModal = true}}},[_vm._v(\" \"+_vm._s(_vm.DogProfile.IsDeleted ? 'Restore' : 'Archive')+\" \")]):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"9\"}},[_c('v-row',{attrs:{\"justify\":\"end\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"actions\"}}):_c('div',[_c('v-btn',{staticClass:\"mr-2\",attrs:{\"outlined\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.goBack()}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.savingData || !_vm.editMode,\"loading\":_vm.savingData},on:{\"click\":function($event){return _vm.saveDogProfile()}}},[_vm._v(\" Save \")])],1)],1)],1)],1),_c('v-row',{staticClass:\"mt-10 mb-5\",attrs:{\"align\":\"center\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}):_c('span',{staticClass:\"text-p font-weight-light\"},[_vm._v(\" Documents \")]),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"button\"}}):_c('v-btn',{staticClass:\"ml-5\",attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.$refs.DocumentUpload.$refs.input.click()}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" Add \")],1)],1),_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-card',{attrs:{\"width\":\"100%\"}},[_c('v-data-table',{staticClass:\"elevation-2 pa3 no-select\",attrs:{\"headers\":_vm.headers,\"items\":_vm.fileVMs.filter(f => f.IsDeleted == false),\"loading\":_vm.loadingData || _vm.uploadingFiles,\"loading-text\":\"Loading... Please Wait\",\"no-data-text\":\"No documents uploaded\"},scopedSlots:_vm._u([{key:\"item.Uploaded\",fn:function({ item }){return [_c('span',[_vm._v(_vm._s(new Date(item.Uploaded).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})))])]}},{key:\"item.Download\",fn:function({ item }){return [(item.ID != 0)?_c('v-btn',{attrs:{\"outlined\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.downloadFile(item)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-download-circle\")]),_vm._v(\" Download \")],1):_vm._e()]}},{key:\"item.Delete\",fn:function({ item }){return [_c('v-btn',{staticClass:\"white--text\",attrs:{\"color\":\"red\"},on:{\"click\":function($event){return _vm.confirmDeleteFile(item)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-trash-can-outline\")]),_vm._v(\" Delete \")],1)]}}],null,false,2583102090)})],1)],1)],1),_c('v-file-input',{ref:\"DocumentUpload\",staticStyle:{\"display\":\"none\"},attrs:{\"small-chips\":\"\",\"multiple\":\"\"},on:{\"change\":_vm.addFile},model:{value:(_vm.lastAddedFiles),callback:function ($$v) {_vm.lastAddedFiles=$$v},expression:\"lastAddedFiles\"}}),_c('v-dialog',{attrs:{\"max-width\":\"400\",\"persistent\":\"\"},model:{value:(_vm.confirmArchiveRestoreModal),callback:function ($$v) {_vm.confirmArchiveRestoreModal=$$v},expression:\"confirmArchiveRestoreModal\"}},[_c('v-card',{attrs:{\"prepend-icon\":\"mdi-update\"}},[_c('v-card-title',[_vm._v(\" Confirm \"+_vm._s(_vm.DogProfile.IsDeleted ? 'Restore' : 'Archive')+\" \")]),_c('v-card-text',[_vm._v(\" Are you sure you want to \"+_vm._s(_vm.DogProfile.IsDeleted ? 'restore' : 'archive')+\" this Dog Profile? \")]),_c('v-card-actions',[_c('v-btn',{staticClass:\"ms-auto\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.confirmArchiveRestoreModal = false}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.archiveRestoreProfile}},[_vm._v(\" Confirm \")])],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"400\",\"persistent\":\"\"},model:{value:(_vm.confirmDeleteFileModal),callback:function ($$v) {_vm.confirmDeleteFileModal=$$v},expression:\"confirmDeleteFileModal\"}},[_c('v-card',{attrs:{\"prepend-icon\":\"mdi-update\"}},[_c('v-card-title',[_vm._v(\" Confirm Delete \")]),_c('v-card-text',[_vm._v(\" Are you sure you want to delete this Document? \")]),_c('v-card-actions',[_c('v-btn',{staticClass:\"ms-auto\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.confirmDeleteFileModal = false}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.deleteFile}},[_vm._v(\" Confirm \")])],1)],1)],1),_c('v-snackbar',{attrs:{\"color\":\"success\",\"timeout\":\"3000\",\"elevation\":\"24\"},model:{value:(_vm.showSaveSuccess),callback:function ($$v) {_vm.showSaveSuccess=$$v},expression:\"showSaveSuccess\"}},[_vm._v(\" Dog Profile saved successfully \")]),_c('v-snackbar',{attrs:{\"color\":\"red\",\"timeout\":\"3000\",\"elevation\":\"24\"},model:{value:(_vm.showErrorMessage),callback:function ($$v) {_vm.showErrorMessage=$$v},expression:\"showErrorMessage\"}},[_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")])],1)],1):_c('v-container',[_c('v-alert',{staticClass:\"mt-5\",attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"warning\",\"elevation\":\"2\"}},[_vm._v(\" Error: Could not retrieve data for Dog Profile. \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Dog from '../models/Dog'\r\nimport User from '../models/User';\r\nimport FileVM from '../viewmodels/FileVM';\r\nexport default interface DogDetailDTO {\r\n Dog: Dog;\r\n Handlers: User[];\r\n Documents: FileVM[];\r\n}\r\n\r\nexport class DogUploadDTO {\r\n ID?: number;\r\n Name?: string;\r\n Breed?: string;\r\n Colour?: string;\r\n MicrochipNumber?: string;\r\n Sex?: string;\r\n Neutered?: boolean;\r\n Notes?: string;\r\n IsDeleted?: boolean;\r\n\r\n constructor(Dog: Dog) {\r\n this.ID = Dog.ID;\r\n this.Name = Dog.Name;\r\n this.Breed = Dog.Breed;\r\n this.Colour = Dog.Colour;\r\n this.MicrochipNumber = Dog.MicrochipNumber;\r\n this.Sex = Dog.Sex.toString();\r\n this.Neutered = Dog.Neutered;\r\n this.Notes = Dog.Notes;\r\n this.IsDeleted = Dog.IsDeleted;\r\n }\r\n}","import TrainingSubstanceDetection from \"../models/TrainingSubstanceDetection\";\r\nimport FileVM from \"../viewmodels/FileVM\";\r\nimport api, { ApiResponse } from \"./api\";\r\nimport CurrentUser from \"./CurrentUser\";\r\n\r\nexport interface AddDeleteFilesResponse {\r\n success: boolean;\r\n returnArray: any[];\r\n}\r\n\r\nexport default {\r\n async addDeleteFiles(allFiles: FileVM[], linkTable: string, linkTableID: number): Promise {\r\n var success = true;\r\n\r\n for (var i = 0; i < allFiles.length; i++) {\r\n if (allFiles[i].ID == 0 && !allFiles[i].IsDeleted && allFiles[i].File) {\r\n let uploadFileResponse = await api.postWithFiles('File/UploadFile?accessToken=' + CurrentUser.currentUserToken() + '&linkTable=' + linkTable + '&linkTableId=' + linkTableID, allFiles[i].File);\r\n\r\n if (uploadFileResponse.ok) {\r\n // Re-add files now with an ID\r\n allFiles[i] = uploadFileResponse.data!;\r\n }\r\n else {\r\n success = false;\r\n }\r\n }\r\n else if (allFiles[i].ID != 0 && allFiles[i].IsDeleted) {\r\n await api.delete('File/DeleteFile?accessToken=' + CurrentUser.currentUserToken() + '&ID=' + allFiles[i].ID);\r\n }\r\n }\r\n\r\n const r: AddDeleteFilesResponse = {\r\n success: success,\r\n returnArray: allFiles\r\n };\r\n\r\n return r;\r\n },\r\n\r\n async addDeleteSubstanceDetectionFiles(substanceDetections: TrainingSubstanceDetection[]): Promise {\r\n var success = true;\r\n\r\n for (var i = 0; i < substanceDetections.length; i++) {\r\n let substanceDetection = substanceDetections[i];\r\n\r\n if (substanceDetection.Documents.length > 0) {\r\n for (var ii = 0; ii < substanceDetection.Documents.length; ii++) {\r\n if (substanceDetection.Documents[ii].ID == 0 && substanceDetection.Documents[ii].File && !substanceDetection.Documents[ii].IsDeleted) {\r\n let uploadFileResponse = await api.postWithFiles('File/UploadFile?accessToken=' + CurrentUser.currentUserToken() + '&linkTable=TBL_TrainingSubstanceDetection&linkTableId=' + substanceDetection.ID, substanceDetection.Documents[ii].File);\r\n\r\n if (uploadFileResponse.ok) {\r\n // Re-add files now with an ID\r\n substanceDetection.Documents[ii] = uploadFileResponse.data!;\r\n }\r\n else {\r\n success = false;\r\n }\r\n }\r\n else if (substanceDetection.Documents[ii].ID != 0 && substanceDetection.Documents[ii].IsDeleted) {\r\n await api.delete('File/DeleteFile?accessToken=' + CurrentUser.currentUserToken() + '&ID=' + substanceDetection.Documents[ii].ID);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const r: AddDeleteFilesResponse = {\r\n success: success,\r\n returnArray: substanceDetections\r\n };\r\n\r\n return r;\r\n }\r\n\r\n}","export default {\r\n numberOfItems(ref : any) {\r\n let items = ref.selectedItems.length;\r\n while (items > 0) {\r\n let sum = 0;\r\n // Weather/Option = DisplayName, Handler = FullName, Dog = Name\r\n // 8.5 = width per letter\r\n // 24 = padding/margin per chip\r\n // This gives the total width of the chips in the multi-select\r\n ref.selectedItems.slice(0, items).forEach((item: any) => sum += ((((item.DisplayName ?? item.FullName ?? item.Name).length ?? 12) * 8.5) + 24));\r\n\r\n // Add on the width of the (+N others) label\r\n sum += 65;\r\n\r\n // Add on the width of the icon\r\n sum += 33;\r\n\r\n // Subtracting 52 removes the padding/margin inside the multiselect\r\n if (sum > (ref.$el.offsetWidth - 52)) {\r\n items = items - 1;\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n // Return the number of chip items that can fit in the multi-select\r\n return items;\r\n }\r\n}","\r\n import { Vue, Component, Prop } from 'vue-property-decorator'\r\n import router from '../router';\r\n import Dog from '../models/Dog';\r\n import { Sex } from '../models/Dog';\r\n import api from '../utils/api';\r\n import DogDetailDTO, { DogUploadDTO } from '../DTOs/DogDetailDTO'\r\n import User from '../models/User'\r\n import CurrentUser from '../utils/CurrentUser';\r\n import FileVM from '../viewmodels/FileVM';\r\n import FileHelper from '../utils/FileHelper';\r\nimport MultiSelectUtil from '../utils/MultiSelectUtil';\r\n \r\n @Component({\r\n name: 'DogProfiles'\r\n })\r\n export default class DogProfileDetails extends Vue {\r\n @Prop(Number) id!: number;\r\n loadingData: boolean = false;\r\n savingData: boolean = false;\r\n uploadingFiles: boolean = false;\r\n showError: boolean = false;\r\n showErrorMessage: boolean = false;\r\n errorText: string = 'An error occurred';\r\n showSaveSuccess: boolean = false;\r\n confirmArchiveRestoreModal: boolean = false;\r\n confirmDeleteFileModal: boolean = false;\r\n valid: boolean = true;\r\n newDogProfile: boolean = this.id === 0;\r\n fileForDeletion: FileVM | null = null;\r\n\r\n editMode: boolean = CurrentUser.hasPermission('EditAllDogs');\r\n \r\n DogProfile: Dog = {ID: 0, Name: '', Breed: '', Sex:Sex.Male, Colour: '', MicrochipNumber: '', Neutered: false, Notes: '', IsDeleted: false};\r\n DogHandlers: User[] = [];\r\n handlerItems: number = 0;\r\n\r\n Sexes = [Sex.Male, Sex.Female];\r\n\r\n headers = [\r\n { text: 'Name', value: 'Name', sortable: false },\r\n { text: 'File Type', value: 'FileType', sortable: false },\r\n { text: 'Uploaded', value: 'Uploaded', sortable: false },\r\n { text: '', value: 'Download', sortable: false, width: '6%' },\r\n { text: '', value: 'Delete', sortable: false, width: '6%' },\r\n ];\r\n\r\n // file-input only stores last added files\r\n lastAddedFiles: File[] = [];\r\n // filesForUpload includes all added files that need uploading\r\n fileVMs: FileVM[] = [];\r\n\r\n async created() {\r\n this.loadingData = true;\r\n if (this.id != 0) {\r\n let dogDetailResponse = await api.get('Dog/DogDetail?id=' + this.id + '&accessToken=' + CurrentUser.currentUserToken());\r\n if (dogDetailResponse.ok) {\r\n if (dogDetailResponse.data!.Dog) {\r\n this.DogProfile = dogDetailResponse.data!.Dog;\r\n }\r\n if (dogDetailResponse.data!.Handlers) {\r\n this.DogHandlers = dogDetailResponse.data!.Handlers;\r\n this.editMode = this.editMode || this.DogHandlers.map(h => h.Email).includes(CurrentUser.currentUser().UserName);\r\n }\r\n if (dogDetailResponse.data!.Documents) {\r\n this.fileVMs = dogDetailResponse.data!.Documents;\r\n }\r\n this.loadingData = false;\r\n }\r\n else {\r\n this.showError = true;\r\n this.loadingData = false;\r\n }\r\n }\r\n else {\r\n this.loadingData = false;\r\n }\r\n }\r\n\r\n async saveDogProfile() {\r\n (this.$refs!.form! as any).validate();\r\n\r\n if (this.valid) {\r\n this.savingData = true;\r\n\r\n var dogUploadDTO = new DogUploadDTO(this.DogProfile);\r\n\r\n let dogDetailUploadResponse = await api.post('Dog/SaveDogDetails?accessToken=' + CurrentUser.currentUserToken(), dogUploadDTO);\r\n \r\n if (dogDetailUploadResponse.ok) {\r\n let dogProfileID = dogDetailUploadResponse.data!;\r\n\r\n // Upload files\r\n this.uploadingFiles = true;\r\n let addDeleteFilesResponse = await FileHelper.addDeleteFiles(this.fileVMs, \"TBL_Dog\", dogProfileID);\r\n this.fileVMs = addDeleteFilesResponse.returnArray;\r\n this.uploadingFiles = false;\r\n this.showSaveSuccess = addDeleteFilesResponse.success;\r\n\r\n this.$router.push('/DogProfiles');\r\n }\r\n else {\r\n this.showErrorMessage = true;\r\n this.errorText = \"Error: \" + (dogDetailUploadResponse.error ?? \"Could not save Dog Profile\");\r\n }\r\n\r\n this.savingData = false;\r\n }\r\n else {\r\n this.$nextTick(() => {\r\n const el = this.$el.querySelector(\".v-messages.error--text:first-of-type\");\r\n\r\n const yOffset = -200;\r\n const y = el!.getBoundingClientRect().top + window.pageYOffset + yOffset;\r\n\r\n window.scrollTo({ top: y, behavior: 'smooth' });\r\n\r\n return;\r\n });\r\n return;\r\n }\r\n }\r\n\r\n async archiveRestoreProfile() {\r\n this.savingData = true;\r\n var dogUploadDTO = new DogUploadDTO(this.DogProfile);\r\n dogUploadDTO.IsDeleted = !dogUploadDTO.IsDeleted;\r\n let handlerDetailUploadResponse = await api.post('Dog/SaveDogDetails?accessToken=' + CurrentUser.currentUserToken(), dogUploadDTO);\r\n if (handlerDetailUploadResponse.ok) {\r\n this.showSaveSuccess = true;\r\n\r\n this.$router.push('/DogProfiles');\r\n }\r\n else {\r\n this.showErrorMessage = true;\r\n this.errorText = \"Error: \" + (handlerDetailUploadResponse.error ?? \"Could not archive Dog profile\");\r\n }\r\n this.confirmArchiveRestoreModal = false;\r\n this.savingData = false;\r\n }\r\n\r\n goBack() {\r\n router.back(); \r\n }\r\n\r\n addFile() {\r\n for (let i = 0; i < this.lastAddedFiles.length; i++) {\r\n let file = (this.lastAddedFiles[i] as File);\r\n this.fileVMs.push({ ID: 0, Name: file.name, FileType: file.type.split('/').pop() || '', Uploaded: new Date, ExternalFileName: '', InternalFileName: '', IsDeleted: false, File: file });\r\n }\r\n }\r\n\r\n confirmDeleteFile(file: FileVM) {\r\n this.fileForDeletion = file;\r\n this.confirmDeleteFileModal = true;\r\n }\r\n\r\n async downloadFile(fileInfo: FileVM) {\r\n let file = await api.DownloadFile(fileInfo.ID);\r\n if (file) {\r\n const link = document.createElement('a');\r\n link.href = file;\r\n link.download = fileInfo.ExternalFileName;\r\n link.click();\r\n }\r\n else {\r\n this.showErrorMessage = true;\r\n this.errorText = \"TODO\";\r\n }\r\n }\r\n\r\n async deleteFile() {\r\n let fileInfo = this.fileForDeletion;\r\n if (fileInfo) {\r\n if (fileInfo.ID == 0) {\r\n const index = this.fileVMs.indexOf(fileInfo);\r\n if (index > -1) this.fileVMs.splice(index, 1);\r\n }\r\n else {\r\n fileInfo.IsDeleted = true;\r\n }\r\n }\r\n this.confirmDeleteFileModal = false;\r\n }\r\n\r\n /*Validation*/\r\n requiredField = [\r\n (value: string) => !!value || 'Required'\r\n ];\r\n\r\n mounted() {\r\n this.$nextTick(() => {\r\n window.addEventListener('resize', this.detectResizeForHandlerSelect);\r\n window.addEventListener('load', this.detectResizeForHandlerSelect);\r\n });\r\n }\r\n\r\n updated() {\r\n this.detectResizeForHandlerSelect();\r\n }\r\n\r\n detectResizeForHandlerSelect() {\r\n if (this.$refs.handlerMultiSelect) {\r\n this.handlerItems = MultiSelectUtil.numberOfItems(this.$refs.handlerMultiSelect);\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DogProfileDetails.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DogProfileDetails.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DogProfileDetails.vue?vue&type=template&id=0709d6e5\"\nimport script from \"./DogProfileDetails.vue?vue&type=script&lang=ts\"\nexport * from \"./DogProfileDetails.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('span',{staticClass:\"text-h6 font-weight-light\"},[_vm._v(\" Dog Profiles \")])]),_c('v-divider',{staticClass:\"mb-10 mt-5\"}),(!_vm.showError)?_c('v-container',{staticClass:\"ma-0 pa-0\"},[_c('v-row',{attrs:{\"justify\":\"space-between\",\"align\":\"center\"}},[_c('v-col',{staticClass:\"half-col\"},[_c('v-text-field',{staticClass:\"search-field\",attrs:{\"solo\":\"\",\"clearable\":\"\",\"label\":\"Name/Breed\",\"hide-details\":\"\",\"prepend-inner-icon\":\"mdi-dog-side\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-container',{staticClass:\"checkbox-archived ml-0\",on:{\"click\":function($event){_vm.showArchived = !_vm.showArchived;_vm.filterDogProfiles()}}},[_c('custom-checkbox',{attrs:{\"fieldChecked\":_vm.showArchived,\"label\":\"Show archived?\"}})],1)],1),_c('v-row',{staticClass:\"mb-5\"},[_c('v-col',{staticClass:\"pr-3 pt-0\",attrs:{\"align\":\"right\",\"justify\":\"center\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"button\"}}):_vm._e(),(!_vm.loadingData && _vm.checkPermission('AddDogs'))?_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.createNewDogProfile}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" Add \")],1):_vm._e()],1)],1),_c('v-card',[_c('v-data-table',{staticClass:\"elevation-2 pa3\",attrs:{\"headers\":_vm.headers,\"items\":_vm.dogProfilesFiltered,\"search\":_vm.search,\"item-class\":_vm.getRowClass,\"loading\":_vm.loadingData,\"loading-text\":\"Loading... Please Wait\"},on:{\"click:row\":_vm.viewEditDogProfile},scopedSlots:_vm._u([{key:\"item.IsDeleted\",fn:function({ item }){return [(item.IsDeleted)?_c('v-chip',{attrs:{\"color\":\"red\",\"text-color\":\"white\",\"size\":\"small\"}},[_vm._v(\"Archived\")]):_vm._e()]}}],null,false,395541271)})],1)],1):_c('v-alert',{staticClass:\"mt-5\",attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"warning\",\"elevation\":\"2\"}},[_vm._v(\" Error: Could not retrieve data for Dog Profiles. \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Component, Prop } from 'vue-property-decorator'\r\n import DogVM from '../viewmodels/DogVM';\r\n import api from '../utils/api'\r\n import CurrentUser from '../utils/CurrentUser';\r\n\r\n @Component({\r\n name: 'DogProfiles'\r\n })\r\n export default class DogProfiles extends Vue {\r\n search: string = '';\r\n selectedBreed: string = '';\r\n select: string = '';\r\n loadingData: boolean = false;\r\n showError: boolean = false;\r\n showArchived: boolean = false;\r\n\r\n headers = [\r\n { text: 'Name', value: 'Name', width:'28%' },\r\n { text: 'Breed', value: 'Breed', width: '30%' },\r\n { text: 'Colour', value: 'Colour', filterable: false, width: '22%' },\r\n { text: 'Status', value: 'IsDeleted', filterable: false, width: '20%' },\r\n ];\r\n\r\n dogProfiles: DogVM[] = [];\r\n dogProfilesFiltered: DogVM[] = [];\r\n breeds: string[] = [];\r\n\r\n async created() {\r\n this.loadingData = true;\r\n let dogProfileResponse = await api.get('Dog/AllDogs?accessToken=' + CurrentUser.currentUserToken());\r\n \r\n if (dogProfileResponse.ok) {\r\n this.dogProfiles = dogProfileResponse.data!;\r\n this.dogProfilesFiltered = dogProfileResponse.data!.filter(d => !d.IsDeleted);\r\n \r\n }\r\n else {\r\n this.showError = true;\r\n }\r\n\r\n this.loadingData = false;\r\n }\r\n\r\n filterDogProfiles() {\r\n if (this.showArchived) {\r\n this.dogProfilesFiltered = this.dogProfiles;\r\n }\r\n else {\r\n this.dogProfilesFiltered = this.dogProfiles.filter(d => !d.IsDeleted)\r\n }\r\n }\r\n\r\n viewEditDogProfile(item: DogVM) {\r\n this.$router.push('/DogProfileDetails/' + item.ID);\r\n }\r\n\r\n createNewDogProfile() {\r\n this.$router.push('/DogProfileDetails/0');\r\n }\r\n\r\n checkPermission(permission: string) : boolean {\r\n return CurrentUser.hasPermission(permission);\r\n }\r\n\r\n getRowClass(item: DogVM) {\r\n return item.IsDeleted ? 'archived-row' : '';\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DogProfiles.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DogProfiles.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DogProfiles.vue?vue&type=template&id=3d936f8c\"\nimport script from \"./DogProfiles.vue?vue&type=script&lang=ts\"\nexport * from \"./DogProfiles.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('span',{staticClass:\"text-h6 font-weight-light\"},[_vm._v(\" Handler Profiles \")])]),_c('v-divider',{staticClass:\"mb-10 mt-5\"}),(!_vm.showError)?_c('v-container',{staticClass:\"ma-0 pa-0\"},[_c('v-row',{staticClass:\"mb-5\",attrs:{\"justify\":\"space-between\"}},[_c('v-col',{attrs:{\"md\":\"11\"}},[_c('v-text-field',{staticClass:\"search-field\",attrs:{\"solo\":\"\",\"clearable\":\"\",\"label\":\"Name\",\"hide-details\":\"\",\"prepend-inner-icon\":\"mdi-account\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1)],1),_c('v-card',[_c('v-data-table',{staticClass:\"elevation-2 pa3\",attrs:{\"headers\":_vm.headers,\"items\":_vm.handlerProfiles,\"search\":_vm.search,\"mobile-breakpoint\":660,\"loading\":_vm.loadingData,\"loading-text\":\"Loading... Please Wait\"},on:{\"click:row\":_vm.viewEditHandlerProfile}})],1)],1):_c('v-alert',{staticClass:\"mt-5\",attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"warning\",\"elevation\":\"2\"}},[_vm._v(\" Error: Could not retrieve data for Handler Profiles. \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Component, Prop } from 'vue-property-decorator'\r\n import User from '../models/User';\r\n import api from '../utils/api'\r\n import CurrentUser from '../utils/CurrentUser';\r\n\r\n @Component({\r\n name: 'HandlerProfiles'\r\n })\r\n export default class HandlerProfiles extends Vue {\r\n search: string = '';\r\n select: string = '';\r\n loadingData: boolean = false;\r\n showError: boolean = false;\r\n\r\n headers = [\r\n { text: 'First Name', value: 'FirstName', width:'23%' },\r\n { text: 'Surname', value: 'Surname', width: '20%' },\r\n { text: 'Email', value: 'Email', filterable: false, width: '31%' },\r\n { text: 'SIA Number', value: 'SIANumber', filterable: false, width: '26%' },\r\n ];\r\n\r\n handlerProfiles: User[] = [];\r\n\r\n async created() {\r\n this.loadingData = true;\r\n let handlerProfileResponse = await api.get('User/AllHandlers?accessToken=' + CurrentUser.currentUserToken());\r\n\r\n if (handlerProfileResponse.ok) {\r\n this.handlerProfiles = handlerProfileResponse.data!;\r\n }\r\n else {\r\n this.showError = true;\r\n }\r\n\r\n this.loadingData = false;\r\n }\r\n\r\n viewEditHandlerProfile(item: User) {\r\n this.$router.push('/HandlerProfileDetails/' + item.ID);\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HandlerProfiles.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HandlerProfiles.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./HandlerProfiles.vue?vue&type=template&id=52c260db\"\nimport script from \"./HandlerProfiles.vue?vue&type=script&lang=ts\"\nexport * from \"./HandlerProfiles.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.showError)?_c('v-card',{staticClass:\"top-level-container\"},[_c('v-container',[_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}):_vm._e(),(!_vm.loadingData && _vm.newHandlerProfile)?_c('span',{staticClass:\"text-h6 font-weight-light pt-3\"},[_vm._v(\" New Handler Profile \")]):_vm._e(),(!_vm.loadingData && !_vm.newHandlerProfile)?_c('span',{staticClass:\"text-h6 font-weight-light pt-3\"},[_vm._v(\" Handler Profile - \"+_vm._s(_vm.HandlerProfile.FirstName + ' ' + _vm.HandlerProfile.Surname)+\" \")]):_vm._e(),(!_vm.loadingData && _vm.HandlerProfile.IsDeleted)?_c('v-chip',{attrs:{\"color\":\"red\",\"label\":\"\",\"outlined\":\"\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"red\"}},[_vm._v(\" mdi-archive-outline \")]),_vm._v(\" ARCHIVED \")],1):_vm._e()],1),_c('v-divider',{staticClass:\"mb-10 mt-5\"}),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{attrs:{\"label\":\"First Name\",\"outlined\":\"\",\"rules\":_vm.requiredField},model:{value:(_vm.HandlerProfile.FirstName),callback:function ($$v) {_vm.$set(_vm.HandlerProfile, \"FirstName\", $$v)},expression:\"HandlerProfile.FirstName\"}})],1),_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{attrs:{\"label\":\"Surname\",\"outlined\":\"\",\"rules\":_vm.requiredField},model:{value:(_vm.HandlerProfile.Surname),callback:function ($$v) {_vm.$set(_vm.HandlerProfile, \"Surname\", $$v)},expression:\"HandlerProfile.Surname\"}})],1),_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{ref:\"dogMultiSelect\",attrs:{\"label\":\"Dog(s)\",\"items\":_vm.HandlerDogs,\"item-text\":\"Name\",\"outlined\":\"\",\"chips\":\"\",\"multiple\":\"\",\"disabled\":\"\"},scopedSlots:_vm._u([{key:\"selection\",fn:function({item, index}){return [(index < _vm.dogItems)?_c('v-chip',[_c('span',[_vm._v(_vm._s(item.Name))])]):_vm._e(),(index === _vm.dogItems)?_c('span',{staticClass:\"text-grey text-caption align-self-center\"},[_vm._v(\" (+\"+_vm._s(_vm.HandlerDogs.length - _vm.dogItems)+\" others) \")]):_vm._e()]}}],null,false,1159905603),model:{value:(_vm.HandlerDogs),callback:function ($$v) {_vm.HandlerDogs=$$v},expression:\"HandlerDogs\"}})],1),_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{attrs:{\"label\":\"Email\",\"outlined\":\"\",\"rules\":_vm.requiredField},model:{value:(_vm.HandlerProfile.Email),callback:function ($$v) {_vm.$set(_vm.HandlerProfile, \"Email\", $$v)},expression:\"HandlerProfile.Email\"}})],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"md\":\"4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{attrs:{\"label\":\"SIA Number\",\"outlined\":\"\",\"rules\":_vm.requiredField},model:{value:(_vm.HandlerProfile.SIANumber),callback:function ($$v) {_vm.$set(_vm.HandlerProfile, \"SIANumber\", $$v)},expression:\"HandlerProfile.SIANumber\"}})],1),_c('v-col',{staticClass:\"third-col\",attrs:{\"md\":\"4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{attrs:{\"label\":\"Role\",\"outlined\":\"\",\"items\":_vm.UserRoles,\"item-text\":\"RoleName\",\"disabled\":\"\",\"rules\":_vm.requiredField},model:{value:(_vm.HandlerProfile.UserRole),callback:function ($$v) {_vm.$set(_vm.HandlerProfile, \"UserRole\", $$v)},expression:\"HandlerProfile.UserRole\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"end\",\"align\":\"center\"}},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"md\":\"3\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"button\"}}):_vm._e(),(!_vm.loadingData)?_c('v-btn',{staticClass:\"white--text\",attrs:{\"color\":_vm.HandlerProfile.IsDeleted ? 'restore' : 'red',\"max-width\":\"125px\"},on:{\"click\":function($event){_vm.confirmArchiveRestoreModal = true}}},[_vm._v(\" \"+_vm._s(_vm.HandlerProfile.IsDeleted ? 'Restore' : 'Archive')+\" \")]):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"9\"}},[_c('v-row',{attrs:{\"justify\":\"end\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"actions\"}}):_c('div',[_c('v-btn',{staticClass:\"mr-2\",attrs:{\"outlined\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.goBack()}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.savingData,\"loading\":_vm.savingData},on:{\"click\":function($event){return _vm.saveHandlerProfile()}}},[_vm._v(\" Save \")])],1)],1)],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"400\",\"persistent\":\"\"},model:{value:(_vm.confirmArchiveRestoreModal),callback:function ($$v) {_vm.confirmArchiveRestoreModal=$$v},expression:\"confirmArchiveRestoreModal\"}},[_c('v-card',{attrs:{\"prepend-icon\":\"mdi-update\"}},[_c('v-card-title',[_vm._v(\" Confirm \"+_vm._s(_vm.HandlerProfile.IsDeleted ? 'Restore' : 'Archive')+\" \")]),_c('v-card-text',[_vm._v(\" Are you sure you want to \"+_vm._s(_vm.HandlerProfile.IsDeleted ? 'restore' : 'archive')+\" this Handler Profile? \")]),_c('v-card-actions',[_c('v-btn',{staticClass:\"ms-auto\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.confirmArchiveRestoreModal = false}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.archiveRestoreProfile}},[_vm._v(\" Confirm \")])],1)],1)],1),_c('v-snackbar',{attrs:{\"color\":\"success\",\"timeout\":\"3000\",\"elevation\":\"24\"},model:{value:(_vm.showSaveSuccess),callback:function ($$v) {_vm.showSaveSuccess=$$v},expression:\"showSaveSuccess\"}},[_vm._v(\" Handler Profile saved successfully \")])],1)],1):_c('v-container',[_c('v-alert',{staticClass:\"mt-5\",attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"warning\",\"elevation\":\"2\"}},[_vm._v(\" Error: Could not retrieve data for Handler Profile. \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Component, Prop } from 'vue-property-decorator'\r\n import router from '../router';\r\n import User from '../models/User';\r\n import { Sex } from '../models/Dog'\r\n import api from '../utils/api';\r\n import UserRole from '../models/UserRole';\r\n import HandlerProfileDetailDTO from '../DTOs/HandlerProfileDetailDTO';\r\n import Dog from '../models/Dog'\r\n import CurrentUser from '../utils/CurrentUser';\r\n import MuliSelectUtil from '../utils/MultiSelectUtil'\r\nimport MultiSelectUtil from '../utils/MultiSelectUtil';\r\n\r\n @Component({\r\n name: 'DogProfiles'\r\n })\r\n export default class HandlerProfileDetails extends Vue {\r\n @Prop(Number) id!: number;\r\n loadingData: boolean = false;\r\n savingData: boolean = false;\r\n showError: boolean = false;\r\n showSaveSuccess: boolean = false;\r\n confirmArchiveRestoreModal: boolean = false;\r\n valid: boolean = true;\r\n newHandlerProfile: boolean = this.id === 0;\r\n\r\n dogItems: number = 0;\r\n\r\n HandlerProfile: User = { ID: 0, FirstName: '', Surname: '', Email: '', UserRole: undefined, SIANumber: '', FullName: '', IsDeleted: false };\r\n UserRoles: UserRole[] = [];\r\n HandlerDogs: Dog[] = [];\r\n Sexes = [Sex.Male, Sex.Female];\r\n\r\n headers = [\r\n { text: 'Name', value: 'FileName', sortable: false },\r\n { text: 'File Type', value: 'FileType', sortable: false },\r\n { text: 'Uploaded', value: 'Uploaded', sortable: false },\r\n { text: '', value: 'Download', sortable: false, width:'15%' },\r\n ];\r\n\r\n documents = [{ FileName: 'Test document', FileType: 'png', Uploaded: Date.now() }];\r\n\r\n async created() {\r\n this.loadingData = true;\r\n let handlerDetailResponse = await api.get('User/HandlerDetail?id=' + this.id + '&accessToken=' + CurrentUser.currentUserToken());\r\n\r\n if (handlerDetailResponse.ok) {\r\n if (handlerDetailResponse.data!.UserDTO) {\r\n this.HandlerProfile = handlerDetailResponse.data!.UserDTO;\r\n }\r\n if (handlerDetailResponse.data!.UserRoles) {\r\n this.UserRoles = handlerDetailResponse.data!.UserRoles;\r\n this.HandlerProfile.UserRole = this.UserRoles.filter(ur => ur.Symbol === \"Handler\")[0];\r\n }\r\n if (handlerDetailResponse.data!.HandlerDogs) {\r\n this.HandlerDogs = handlerDetailResponse.data!.HandlerDogs;\r\n }\r\n this.loadingData = false;\r\n }\r\n else {\r\n this.showError = true;\r\n this.loadingData = false;\r\n }\r\n }\r\n\r\n async saveHandlerProfile() {\r\n (this.$refs!.form! as any).validate();\r\n\r\n if (this.valid) {\r\n\r\n this.savingData = true;\r\n\r\n let handlerDetailUploadResponse = await api.post('User/SaveUserDetails?accessToken=' + CurrentUser.currentUserToken(), this.HandlerProfile);\r\n\r\n if (handlerDetailUploadResponse.ok) {\r\n this.showSaveSuccess = true;\r\n this.savingData = false;\r\n this.$router.push('/HandlerProfiles');\r\n }\r\n else {\r\n // TODO error\r\n }\r\n }\r\n else {\r\n this.$nextTick(() => {\r\n const el = this.$el.querySelector(\".v-messages.error--text:first-of-type\");\r\n /*el!.scrollIntoView();*/\r\n\r\n const yOffset = -200;\r\n const y = el!.getBoundingClientRect().top + window.pageYOffset + yOffset;\r\n\r\n window.scrollTo({ top: y, behavior: 'smooth' });\r\n\r\n return;\r\n });\r\n return;\r\n }\r\n }\r\n\r\n async archiveRestoreProfile() {\r\n this.savingData = true;\r\n this.HandlerProfile.IsDeleted = !this.HandlerProfile.IsDeleted;\r\n let handlerDetailUploadResponse = await api.post('User/SaveUserDetails?accessToken=' + CurrentUser.currentUserToken(), this.HandlerProfile);\r\n if (handlerDetailUploadResponse.ok) {\r\n this.showSaveSuccess = true;\r\n this.savingData = false;\r\n\r\n this.$router.push('/HandlerProfiles');\r\n }\r\n else {\r\n // TODO error\r\n }\r\n }\r\n\r\n goBack() {\r\n router.back();\r\n }\r\n\r\n /*Validation*/\r\n requiredField = [\r\n (value: string) => !!value || 'Required'\r\n ];\r\n\r\n mounted() {\r\n this.$nextTick(() => {\r\n window.addEventListener('resize', this.detectResizeForDogSelect);\r\n window.addEventListener('load', this.detectResizeForDogSelect);\r\n });\r\n }\r\n\r\n updated() {\r\n this.detectResizeForDogSelect();\r\n }\r\n\r\n detectResizeForDogSelect() {\r\n if (this.$refs.dogMultiSelect) {\r\n this.dogItems = MultiSelectUtil.numberOfItems(this.$refs.dogMultiSelect);\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HandlerProfileDetails.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HandlerProfileDetails.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./HandlerProfileDetails.vue?vue&type=template&id=269c9dae\"\nimport script from \"./HandlerProfileDetails.vue?vue&type=script&lang=ts\"\nexport * from \"./HandlerProfileDetails.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('span',{staticClass:\"text-h6 font-weight-light\"},[_vm._v(\" Continuation Training Records \")])]),_c('v-divider',{staticClass:\"mb-8 mt-5\"}),(!_vm.showError)?_c('v-container',{staticClass:\"pa-0 ma-0\"},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-card',{staticClass:\"mb-5\"},[_c('v-expansion-panels',{attrs:{\"focusable\":\"\"},model:{value:(_vm.openedPanel),callback:function ($$v) {_vm.openedPanel=$$v},expression:\"openedPanel\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('span',{staticClass:\"text-p\"},[_vm._v(\"Filters\")])]),_c('v-expansion-panel-content',[_c('v-row',{staticClass:\"pr-4 pl-4 mt-4\",attrs:{\"justify\":\"space-between\"}},[_c('v-col',{staticClass:\"half-col mb-2\"},[_c('v-text-field',{staticClass:\"search-field\",attrs:{\"label\":\"Dog\",\"solo\":\"\",\"clearable\":\"\",\"hide-details\":\"\",\"prepend-inner-icon\":\"mdi-dog-side\"},on:{\"input\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.DogSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"DogSearch\", $$v)},expression:\"searchFields.DogSearch\"}})],1),_c('v-col',{staticClass:\"half-col mb-2\"},[_c('v-text-field',{staticClass:\"search-field\",attrs:{\"label\":\"Handler\",\"solo\":\"\",\"clearable\":\"\",\"hide-details\":\"\",\"prepend-inner-icon\":\"mdi-account\"},on:{\"input\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.HandlerSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"HandlerSearch\", $$v)},expression:\"searchFields.HandlerSearch\"}})],1),_c('v-container',{staticClass:\"checkbox-archived ml-0\",on:{\"click\":function($event){_vm.searchFields.showArchived = !_vm.searchFields.showArchived;_vm.filtersChanged = true}}},[_c('custom-checkbox',{attrs:{\"fieldChecked\":_vm.searchFields.showArchived,\"label\":\"Show archived?\"}})],1)],1),_c('v-row',{staticClass:\"pr-4 pl-4\"},[_c('v-col',{staticClass:\"half-col pb-0\",attrs:{\"md\":\"4\"}},[_c('v-select',{attrs:{\"label\":\"Location\",\"solo\":\"\",\"clearable\":\"\",\"items\":_vm.filterOptions.Locations,\"item-text\":\"Code\",\"density\":\"comfortable\",\"prepend-inner-icon\":\"mdi-map-marker\"},on:{\"input\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.LocationSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"LocationSearch\", $$v)},expression:\"searchFields.LocationSearch\"}})],1),_c('v-col',{staticClass:\"half-col pb-0\",attrs:{\"md\":\"4\"}},[_c('v-select',{attrs:{\"label\":\"Task\",\"solo\":\"\",\"clearable\":\"\",\"items\":_vm.filterOptions.Tasks,\"item-text\":\"DisplayName\",\"density\":\"comfortable\",\"prepend-inner-icon\":\"mdi-format-list-bulleted\"},on:{\"input\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.TaskSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"TaskSearch\", $$v)},expression:\"searchFields.TaskSearch\"}})],1),_c('v-col',{staticClass:\"half-col pb-0\",attrs:{\"md\":\"4\"}},[_c('v-select',{attrs:{\"label\":\"Substance\",\"solo\":\"\",\"clearable\":\"\",\"items\":_vm.filterOptions.Substances,\"item-text\":\"DisplayName\",\"density\":\"comfortable\",\"prepend-inner-icon\":\"mdi-alert-box\"},on:{\"input\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.SubstanceSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"SubstanceSearch\", $$v)},expression:\"searchFields.SubstanceSearch\"}})],1),_c('v-col',{staticClass:\"half-col pb-0\",attrs:{\"md\":\"4\"}},[_c('v-select',{attrs:{\"label\":\"Status\",\"solo\":\"\",\"clearable\":\"\",\"items\":_vm.filterOptions.Statuses,\"density\":\"comfortable\",\"prepend-inner-icon\":\"mdi-progress-pencil\"},on:{\"input\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.StatusSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"StatusSearch\", $$v)},expression:\"searchFields.StatusSearch\"}})],1),_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"8\"}},[_c('v-row',[_c('v-col',{staticClass:\"eighth-col radio-col mb-2\",attrs:{\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"radio\",on:{\"change\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.KnownBlindSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"KnownBlindSearch\", $$v)},expression:\"searchFields.KnownBlindSearch\"}},[_c('v-radio',{attrs:{\"label\":\"Known\",\"value\":\"Known\"}}),_c('v-radio',{attrs:{\"label\":\"Blind\",\"value\":\"Blind\"}})],1)],1),_c('v-col',{staticClass:\"eighth-col radio-col mb-2\",attrs:{\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"radio\",on:{\"change\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.PositiveBlankSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"PositiveBlankSearch\", $$v)},expression:\"searchFields.PositiveBlankSearch\"}},[_c('v-radio',{attrs:{\"label\":\"Positive\",\"value\":\"Positive\"}}),_c('v-radio',{attrs:{\"label\":\"Blank\",\"value\":\"Blank\"}})],1)],1),_c('v-col',{staticClass:\"eighth-col radio-col mb-2\",attrs:{\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"radio\",on:{\"change\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.VisualHiddenSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"VisualHiddenSearch\", $$v)},expression:\"searchFields.VisualHiddenSearch\"}},[_c('v-radio',{attrs:{\"label\":\"Visual\",\"value\":\"Visual\"}}),_c('v-radio',{attrs:{\"label\":\"Hidden\",\"value\":\"Hidden\"}})],1)],1),_c('v-col',{staticClass:\"eighth-col radio-col mb-2\",attrs:{\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"radio\",on:{\"change\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.OnOffLeadSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"OnOffLeadSearch\", $$v)},expression:\"searchFields.OnOffLeadSearch\"}},[_c('v-radio',{attrs:{\"label\":\"On Lead\",\"value\":\"On Lead\"}}),_c('v-radio',{attrs:{\"label\":\"Off Lead\",\"value\":\"Off Lead\"}})],1)],1)],1)],1)],1),_c('v-row',{staticClass:\"ma-0\",attrs:{\"justify\":\"space-between\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"align\":\"left\"}},[(_vm.filtersChanged)?_c('span',{staticClass:\"text-caption red--text\"},[_vm._v(\"Filters have changed. Please re-apply to see updated results.\")]):_vm._e()]),_c('v-col',{staticClass:\"pa-5\",attrs:{\"cols\":\"6\",\"align\":\"right\"}},[_c('v-btn',{staticClass:\"mb-2\",attrs:{\"color\":\"primary\",\"outlined\":\"\"},on:{\"click\":_vm.resetFilter}},[_vm._v(\" Reset \")]),_c('v-btn',{staticClass:\"ml-2 mb-2\",attrs:{\"color\":\"primary\"},on:{\"click\":_vm.searchRecords}},[_vm._v(\" Apply \")])],1)],1)],1)],1)],1)],1),(_vm.canAddRecords)?_c('v-row',{staticClass:\"mb-2\",attrs:{\"justify\":\"end\"}},[_c('v-col',{attrs:{\"md\":\"2\",\"align\":\"right\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"button\"}}):_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.createNewTrainingRecord}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" Add \")],1)],1)],1):_vm._e(),_c('v-card',[_c('v-data-table',{staticClass:\"elevation-2 pa3\",attrs:{\"items-per-page\":_vm.pagingData.itemsPerPage,\"footer-props\":{'items-per-page-options': [10, 20, 30, 40, 50, -1]},\"headers\":_vm.headers,\"items\":_vm.trainingRecords,\"server-items-length\":_vm.totalRecords,\"item-class\":_vm.getRowClass,\"loading\":_vm.loadingRecords,\"loading-text\":\"Loading... Please Wait\",\"mobile-breakpoint\":824,\"single-expand\":false,\"expanded\":_vm.expanded,\"item-key\":\"ID\"},on:{\"update:options\":_vm.loadRecords,\"update:expanded\":function($event){_vm.expanded=$event},\"update:itemsPerPage\":_vm.savePagingData,\"click:row\":_vm.viewEditTrainingRecord},scopedSlots:_vm._u([{key:\"item.Completed\",fn:function({ item }){return [_c('span',[_vm._v(_vm._s(new Date(item.Completed).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})))])]}},{key:\"item.Status\",fn:function({ item }){return [_c('v-chip',{attrs:{\"color\":item.Status == 'Archived' ? 'red' : item.Status == 'Approved' ? 'success' : item.Status == 'Submitted' ? 'submitted' : 'lightgrey',\"text-color\":item.Status == 'Archived' || item.Status == 'Approved' ? 'white' : 'black',\"size\":\"small\"},on:{\"click\":function($event){return _vm.expandClick(item)}}},[_vm._v(\" \"+_vm._s(item.Status)+\" \"),_c('v-icon',{class:_vm.expanded.indexOf(item) > -1 ? 'expand-active icon-shadow' : 'icon-shadow',attrs:{\"right\":\"\"}},[_vm._v(\" mdi-chevron-down \")])],1)]}},{key:\"expanded-item\",fn:function({ headers, item }){return [_c('td',{staticClass:\"pa-3\",attrs:{\"colspan\":\"7\"}},[(item.IsDeleted)?_c('span',[_c('b',[_vm._v(\"Trainer:\")]),_vm._v(\" \"+_vm._s(item.TrainerName)+\", \"),_c('b',[_vm._v(\"Archived On:\")]),_vm._v(\" \"+_vm._s(new Date(item.Modified).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})))]):_c('span',[_c('b',[_vm._v(\"Trainer:\")]),_vm._v(\" \"+_vm._s(item.TrainerName)+\", \"),_c('b',[_vm._v(\"Trainer Approved:\")]),_vm._v(\" \"+_vm._s(!item.TrainerApproved ? 'pending' : new Date(item.TrainerApproved).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"}))+\", \"),_c('b',[_vm._v(\"Handler Approved:\")]),_vm._v(\" \"+_vm._s(!item.HandlerApproved ? 'pending' : new Date(item.HandlerApproved).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})))])])]}}],null,false,656581186)})],1),_c('v-btn',{directives:[{name:\"scroll\",rawName:\"v-scroll\",value:(_vm.onScroll),expression:\"onScroll\"},{name:\"show\",rawName:\"v-show\",value:(_vm.fab),expression:\"fab\"}],staticClass:\"mobile-scroll\",attrs:{\"fab\":\"\",\"dark\":\"\",\"fixed\":\"\",\"bottom\":\"\",\"left\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.toTop}},[_c('v-icon',[_vm._v(\"mdi-chevron-up\")])],1)],1):_c('v-alert',{staticClass:\"mt-5\",attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"warning\",\"elevation\":\"2\"}},[_vm._v(\" Error: Could not retrieve data for Continuation Training Records. \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Component } from 'vue-property-decorator'\r\n import api from '../utils/api'\r\n import PagedTrainingRecordsDTO from '../DTOs/PagedTrainingRecordsDTO'\r\n import { PagedTrainingRecordVM } from '../viewmodels/TrainingRecordVM'\r\n import Option from '../models/Option';\r\n import CurrentUser from '../utils/CurrentUser';\r\n import Location from '../models/Location';\r\n\r\n interface PagingData {\r\n page: number;\r\n itemsPerPage: number;\r\n sortBy: string[];\r\n sortDesc: string[];\r\n DogSearch: string;\r\n HandlerSearch: string;\r\n LocationSearch: string;\r\n TaskSearch: string;\r\n SubstanceSearch: string;\r\n StatusSearch: string;\r\n KnownBlindSearch: string;\r\n PositiveBlankSearch: string;\r\n VisualHiddenSearch: string;\r\n OnOffLeadSearch: string;\r\n IncludeArchived: boolean | null;\r\n }\r\n\r\n interface FilterOptions {\r\n Locations: Location[];\r\n Tasks: Option[];\r\n Substances: Option[];\r\n Statuses: string[];\r\n }\r\n\r\n @Component({\r\n name: 'TrainingRecords'\r\n })\r\n export default class TrainingRecords extends Vue {\r\n select: string = '';\r\n loadingData: boolean = false;\r\n showError: boolean = false;\r\n loadingRecords: boolean = false;\r\n filtersChanged: boolean = false;\r\n totalRecords: number = 0;\r\n pagingData: PagingData = { page: 1, itemsPerPage: 20, sortBy: [], sortDesc: [], DogSearch: '', HandlerSearch: '', LocationSearch: '', TaskSearch: '', SubstanceSearch: '', StatusSearch: '', KnownBlindSearch: '', PositiveBlankSearch: '', VisualHiddenSearch: '', OnOffLeadSearch: '', IncludeArchived: false };\r\n searchFields: any = { DogSearch: '', HandlerSearch: '', LocationSearch: '', TaskSearch: '', SubstanceSearch: '', StatusSearch: '', KnownBlindSearch: '', PositiveBlankSearch: '', VisualHiddenSearch: '', OnOffLeadSearch: '', showArchived: false };\r\n canAddRecords: boolean = false;\r\n fab: boolean = false;\r\n expanded: any[] = [];\r\n openedPanel: any = null;\r\n\r\n filterOptions: FilterOptions = { Locations: [], Tasks: [], Substances: [], Statuses: [] };\r\n\r\n headers = [\r\n { text: 'Date & Time', value: 'Completed', filterable: false, width: '20%' },\r\n { text: 'Team', value: 'Team', sortable: false, width: '15%' },\r\n { text: 'Location', value: 'Location', width: '15%' },\r\n { text: 'Type', value: 'Type', width: '10%' },\r\n { text: 'Task', value: 'Task', width: '10%' },\r\n { text: 'Substances', value: 'Substances', sortable: false, width: '15%' },\r\n { text: 'Status', value: 'Status', width: '10%' },\r\n ];\r\n\r\n trainingRecords: PagedTrainingRecordVM[] = [];\r\n\r\n async created() {\r\n this.canAddRecords = CurrentUser.hasPermission('EditTrainingRecords');\r\n this.loadingData = true;\r\n\r\n let trainingDropdownsResponse = await api.get('Training/PopulateDropdowns?accessToken=' + CurrentUser.currentUserToken());\r\n\r\n if (trainingDropdownsResponse.ok) {\r\n this.filterOptions = trainingDropdownsResponse.data!;\r\n\r\n let filterRequired = false;\r\n let storedPagingData = localStorage.getItem(\"trainingRecordPagingData\");\r\n let storedSearchFields = localStorage.getItem(\"trainingRecordSearchFields\");\r\n\r\n if (storedPagingData) {\r\n this.pagingData = JSON.parse(storedPagingData);\r\n filterRequired = true;\r\n }\r\n\r\n if (storedSearchFields) {\r\n this.searchFields = JSON.parse(storedSearchFields);\r\n filterRequired = true;\r\n }\r\n if (filterRequired) {\r\n this.openedPanel = 0;\r\n this.searchRecords();\r\n }\r\n }\r\n else {\r\n this.showError = true;\r\n }\r\n this.loadingData = false;\r\n }\r\n\r\n async searchRecords() {\r\n this.savePagingData();\r\n\r\n this.loadRecords(this.pagingData);\r\n this.scrollToResults();\r\n }\r\n\r\n savePagingData() {\r\n localStorage.setItem(\"trainingRecordPagingData\", JSON.stringify(this.pagingData));\r\n localStorage.setItem(\"trainingRecordSearchFields\", JSON.stringify(this.searchFields));\r\n }\r\n\r\n async loadRecords(pagingDataEntry: PagingData){\r\n this.loadingRecords = true;\r\n this.filtersChanged = false;\r\n this.pagingData = pagingDataEntry; \r\n\r\n this.pagingData.DogSearch = this.searchFields.DogSearch;\r\n this.pagingData.HandlerSearch = this.searchFields.HandlerSearch;\r\n this.pagingData.LocationSearch = this.searchFields.LocationSearch;\r\n this.pagingData.TaskSearch = this.searchFields.TaskSearch;\r\n this.pagingData.SubstanceSearch = this.searchFields.SubstanceSearch;\r\n this.pagingData.StatusSearch = this.searchFields.StatusSearch;\r\n this.pagingData.KnownBlindSearch = this.searchFields.KnownBlindSearch;\r\n this.pagingData.PositiveBlankSearch = this.searchFields.PositiveBlankSearch;\r\n this.pagingData.VisualHiddenSearch = this.searchFields.VisualHiddenSearch;\r\n this.pagingData.OnOffLeadSearch = this.searchFields.OnOffLeadSearch;\r\n this.pagingData.IncludeArchived = this.searchFields.showArchived ? this.searchFields.showArchived : false;\r\n\r\n let trainingRecordsResponse = await api.post('Training/PagedRecords?accessToken=' + CurrentUser.currentUserToken(), this.pagingData);\r\n\r\n if (trainingRecordsResponse.ok) {\r\n this.trainingRecords = trainingRecordsResponse.data?.PagedTrainingRecords ?? [];\r\n this.totalRecords = trainingRecordsResponse.data?.Total ?? 0;\r\n }\r\n else {\r\n this.showError = true;\r\n }\r\n this.loadingRecords = false;\r\n }\r\n\r\n viewEditTrainingRecord(item: PagedTrainingRecordVM, index:any, event: any) {\r\n if (event.target.cellIndex < (this.headers.length - 1)){\r\n this.$router.push('/TrainingRecordDetails/' + item.ID);\r\n }\r\n }\r\n\r\n createNewTrainingRecord(){\r\n this.$router.push('/TrainingRecordDetails/0');\r\n }\r\n\r\n resetFilter() {\r\n Object.entries(this.searchFields).forEach(([key]) => {\r\n this.searchFields[key] = '';\r\n });\r\n\r\n localStorage.removeItem(\"trainingRecordPagingData\");\r\n localStorage.removeItem(\"trainingRecordSearchFields\");\r\n\r\n this.loadRecords(this.pagingData);\r\n this.scrollToResults();\r\n }\r\n\r\n getRowClass(item: PagedTrainingRecordVM) {\r\n return item.Status == 'Archived' ? 'archived-row' : '';\r\n }\r\n\r\n scrollToResults() {\r\n this.$nextTick(() => {\r\n const el = this.$el.querySelector(\".v-data-table:first-of-type\");\r\n const yOffset = -88;\r\n const y = el!.getBoundingClientRect().top + window.pageYOffset + yOffset;\r\n\r\n window.scrollTo({ top: y, behavior: 'smooth' });\r\n\r\n return;\r\n });\r\n }\r\n\r\n onScroll(e: any) {\r\n if (typeof window === 'undefined') return\r\n const top = window.pageYOffset || e.target.scrollTop || 0\r\n this.fab = top > 1500\r\n }\r\n\r\n toTop() {\r\n this.$vuetify.goTo(0);\r\n }\r\n\r\n expandClick(item: PagedTrainingRecordVM){\r\n const index = this.expanded.indexOf(item);\r\n if (index === -1){\r\n this.expanded.push(item);\r\n\r\n }\r\n else {\r\n this.expanded.splice(index, 1);\r\n }\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainingRecords.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainingRecords.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TrainingRecords.vue?vue&type=template&id=4f0299dc\"\nimport script from \"./TrainingRecords.vue?vue&type=script&lang=ts\"\nexport * from \"./TrainingRecords.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TrainingRecords.vue?vue&type=style&index=0&id=4f0299dc&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.showError)?_c('v-card',{staticClass:\"top-level-container\"},[_c('v-container',[_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('span',{staticClass:\"text-h6 font-weight-light pt-3\"},[_vm._v(\" Training Record \")]),(_vm.TrainingRecord.IsDeleted)?_c('v-chip',{attrs:{\"color\":\"red\",\"outlined\":\"\",\"label\":\"\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"red\"}},[_vm._v(\" mdi-archive-outline \")]),_vm._v(\" ARCHIVED \")],1):_vm._e(),(_vm.TrainingRecord.TrainerApproved && _vm.TrainingRecord.HandlerApproved)?_c('v-icon',{attrs:{\"color\":\"grey\",\"medium\":\"\"}},[_vm._v(\" mdi-lock-outline \")]):_vm._e()],1),_c('v-divider',{staticClass:\"mb-10 mt-5\"}),_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"md\":\"6\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-autocomplete',{attrs:{\"label\":\"Select Team\",\"outlined\":\"\",\"item-text\":item => item.Dog.Name +' - '+ item.Handler.FullName,\"items\":_vm.DogHandlerTeams,\"return-object\":\"\",\"rules\":_vm.teamRequiredField,\"disabled\":_vm.TrainingRecord.ID != 0},model:{value:(_vm.TrainingRecord.DogHandlerTeam),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"DogHandlerTeam\", $$v)},expression:\"TrainingRecord.DogHandlerTeam\"}},[_c('template',{slot:\"prepend-inner\"},[_c('v-icon',[_vm._v(\"mdi-account\")]),_c('v-icon',[_vm._v(\"mdi-dog-service\")])],1)],2)],1)],1),_c('v-row',{staticClass:\"mt-0\",attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"half-col pb-0\",attrs:{\"md\":\"6\"}},[_c('span',{staticClass:\"text-h6 font-weight-light pl-0\"},[_vm._v(\"Handler\")]),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{staticClass:\"pt-2\",attrs:{\"label\":\"Name\",\"disabled\":\"\",\"outlined\":\"\"},model:{value:(_vm.TrainingRecord.DogHandlerTeam.Handler.FullName),callback:function ($$v) {_vm.$set(_vm.TrainingRecord.DogHandlerTeam.Handler, \"FullName\", $$v)},expression:\"TrainingRecord.DogHandlerTeam.Handler.FullName\"}}),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{attrs:{\"label\":\"Email\",\"outlined\":\"\",\"disabled\":\"\"},model:{value:(_vm.TrainingRecord.DogHandlerTeam.Handler.Email),callback:function ($$v) {_vm.$set(_vm.TrainingRecord.DogHandlerTeam.Handler, \"Email\", $$v)},expression:\"TrainingRecord.DogHandlerTeam.Handler.Email\"}}),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{attrs:{\"label\":\"SIA No.\",\"outlined\":\"\",\"disabled\":\"\"},model:{value:(_vm.TrainingRecord.DogHandlerTeam.Handler.SIANumber),callback:function ($$v) {_vm.$set(_vm.TrainingRecord.DogHandlerTeam.Handler, \"SIANumber\", $$v)},expression:\"TrainingRecord.DogHandlerTeam.Handler.SIANumber\"}})],1),_c('v-col',{staticClass:\"half-col pb-0\",attrs:{\"md\":\"6\"}},[_c('span',{staticClass:\"text-h6 font-weight-light pl-0\"},[_vm._v(\"Dog\")]),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{staticClass:\"pt-2\",attrs:{\"label\":\"Name\",\"outlined\":\"\",\"disabled\":\"\"},model:{value:(_vm.TrainingRecord.DogHandlerTeam.Dog.Name),callback:function ($$v) {_vm.$set(_vm.TrainingRecord.DogHandlerTeam.Dog, \"Name\", $$v)},expression:\"TrainingRecord.DogHandlerTeam.Dog.Name\"}}),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{attrs:{\"label\":\"Breed\",\"outlined\":\"\",\"disabled\":\"\"},model:{value:(_vm.TrainingRecord.DogHandlerTeam.Dog.Breed),callback:function ($$v) {_vm.$set(_vm.TrainingRecord.DogHandlerTeam.Dog, \"Breed\", $$v)},expression:\"TrainingRecord.DogHandlerTeam.Dog.Breed\"}}),_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"md\":\"6\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{staticClass:\"half-size\",attrs:{\"label\":\"Colour\",\"outlined\":\"\",\"disabled\":\"\"},model:{value:(_vm.TrainingRecord.DogHandlerTeam.Dog.Colour),callback:function ($$v) {_vm.$set(_vm.TrainingRecord.DogHandlerTeam.Dog, \"Colour\", $$v)},expression:\"TrainingRecord.DogHandlerTeam.Dog.Colour\"}})],1),_c('v-col',{attrs:{\"md\":\"6\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{staticClass:\"half-size\",attrs:{\"label\":\"Microchip No.\",\"outlined\":\"\",\"disabled\":\"\"},model:{value:(_vm.TrainingRecord.DogHandlerTeam.Dog.MicrochipNumber),callback:function ($$v) {_vm.$set(_vm.TrainingRecord.DogHandlerTeam.Dog, \"MicrochipNumber\", $$v)},expression:\"TrainingRecord.DogHandlerTeam.Dog.MicrochipNumber\"}})],1)],1),_c('v-row',{staticClass:\"mt-0 pt-0\",attrs:{\"justify\":\"center\"}},[_c('v-col',{staticClass:\"pt-0\",attrs:{\"md\":\"6\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{attrs:{\"label\":\"Sex\",\"items\":_vm.Sexes,\"outlined\":\"\",\"disabled\":\"\"},model:{value:(_vm.TrainingRecord.DogHandlerTeam.Dog.Sex),callback:function ($$v) {_vm.$set(_vm.TrainingRecord.DogHandlerTeam.Dog, \"Sex\", $$v)},expression:\"TrainingRecord.DogHandlerTeam.Dog.Sex\"}})],1),_c('v-col',{staticClass:\"pt-0\",attrs:{\"justify\":\"center\"}},[_c('v-container',{staticClass:\"pa-0\",staticStyle:{\"height\":\"92px\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"chip\",\"align\":\"center\"}}):_c('custom-checkbox',{staticStyle:{\"max-width\":\"128px\",\"min-width\":\"128px\"},attrs:{\"fieldChecked\":_vm.TrainingRecord.DogHandlerTeam.Dog.Neutered,\"label\":\"Neutered?\",\"disabled\":true}})],1)],1)],1)],1)],1),_c('v-divider',{staticClass:\"mb-5 mt-5\"}),_c('v-row',[_c('span',{staticClass:\"text-h6 font-weight-light\"},[_vm._v(\"Training\")])]),_c('v-row',{attrs:{\"justify\":\"start\"}},[_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"2.4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{attrs:{\"label\":\"Location\",\"items\":_vm.TrainingLocations,\"item-text\":\"Code\",\"outlined\":\"\",\"return-object\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-map-marker\"},model:{value:(_vm.TrainingRecord.Location),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"Location\", $$v)},expression:\"TrainingRecord.Location\"}})],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"md\":\"2.4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-dialog',{ref:\"dateDialog\",attrs:{\"return-value\":_vm.date,\"persistent\":\"\",\"max-width\":\"290px\"},on:{\"update:returnValue\":function($event){_vm.date=$event},\"update:return-value\":function($event){_vm.date=$event}},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-text-field',_vm._g(_vm._b({attrs:{\"label\":\"Select Date\",\"prepend-inner-icon\":\"mdi-calendar\",\"readonly\":\"\",\"outlined\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}},'v-text-field',attrs,false),on))]}}],null,false,2724933255),model:{value:(_vm.dateModal),callback:function ($$v) {_vm.dateModal=$$v},expression:\"dateModal\"}},[_c('v-date-picker',{on:{\"input\":function($event){return _vm.$refs.dateDialog.save(_vm.date)}},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}})],1)],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"md\":\"2.4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-dialog',{ref:\"timeDialog\",attrs:{\"return-value\":_vm.time,\"persistent\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},on:{\"update:returnValue\":function($event){_vm.time=$event},\"update:return-value\":function($event){_vm.time=$event}},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-text-field',_vm._g(_vm._b({attrs:{\"label\":\"Select Time\",\"prepend-inner-icon\":\"mdi-clock-time-four-outline\",\"readonly\":\"\",\"outlined\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.time),callback:function ($$v) {_vm.time=$$v},expression:\"time\"}},'v-text-field',attrs,false),on))]}}],null,false,1351406699),model:{value:(_vm.timeModal),callback:function ($$v) {_vm.timeModal=$$v},expression:\"timeModal\"}},[(_vm.timeModal)?_c('v-time-picker',{attrs:{\"full-width\":\"\"},on:{\"click:minute\":function($event){return _vm.$refs.timeDialog.save(_vm.time)}},model:{value:(_vm.time),callback:function ($$v) {_vm.time=$$v},expression:\"time\"}}):_vm._e()],1)],1),_c('v-col',{staticClass:\"half-col mb-5\"},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('div',{class:`${'v-input theme--light v-text-field v-text-field--enclosed v-text-field--outlined ' + (!_vm.editMode ? 'v-input--is-disabled' : (_vm.durationError ? 'v-input--has-state error--text' :''))}`,attrs:{\"id\":\"durationInput\"},on:{\"active\":_vm.test}},[_c('div',{staticClass:\"v-input__control mb-2\",staticStyle:{\"height\":\"56px\"}},[_c('div',{staticClass:\"v-input__slot\"},[_c('div',{staticClass:\"v-input__prepend-inner\"},[_c('div',{staticClass:\"v-input__icon v-input__icon--prepend-inner\"},[_c('i',{staticClass:\"v-icon notranslate mdi mdi-timer-outline theme--light\",attrs:{\"aria-hidden\":\"true\"}})])]),_c('fieldset',[_c('legend',{staticStyle:{\"width\":\"52px\"}},[_c('span',{staticClass:\"notranslate\"},[_vm._v(\"​\")])])]),_c('div',{staticClass:\"v-text-field__slot\"},[_c('label',{class:`${'v-label v-label--active theme--light ' + (!_vm.editMode ? 'v-label--is-disabled' : (_vm.durationError ? 'error--text' : ''))}`,staticStyle:{\"left\":\"-28px\",\"right\":\"auto\",\"position\":\"absolute\"},attrs:{\"for\":\"input-714\"}},[_vm._v(\" Duration \")]),_c('v-row',{staticStyle:{\"height\":\"56px\"},attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"pa-1 ml-2\",staticStyle:{\"width\":\"16px\"},attrs:{\"align\":\"right\"}},[_c('v-menu',{attrs:{\"offset-y\":\"\",\"rounded\":\"lg\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-text-field',_vm._g(_vm._b({staticClass:\"duration center-align-input-text\",staticStyle:{\"font-size\":\"14px\"},attrs:{\"color\":\"primary\",\"dense\":\"\",\"outlined\":\"\",\"readonly\":\"\",\"disabled\":!_vm.editMode,\"hideDetails\":true},model:{value:(_vm.duration.Hours),callback:function ($$v) {_vm.$set(_vm.duration, \"Hours\", $$v)},expression:\"duration.Hours\"}},'v-text-field',attrs,false),on))]}}],null,false,912030731)},[_c('v-list',_vm._l((_vm.hours),function(item){return _c('v-list-item',{key:item,staticClass:\"item-hover\",on:{\"click\":function($event){_vm.duration.Hours = item; _vm.durationValidation()}}},[_c('v-list-item-title',[_vm._v(_vm._s(item))])],1)}),1)],1)],1),_c('v-col',{staticClass:\"pa-1\"},[_c('span',{staticStyle:{\"font-size\":\"14px\"}},[_vm._v(\"Hour(s)\")])]),_c('v-col',{staticClass:\"pa-1\",staticStyle:{\"width\":\"20px\"},attrs:{\"align\":\"right\"}},[_c('v-menu',{attrs:{\"offset-y\":\"\",\"rounded\":\"lg\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-text-field',_vm._g(_vm._b({staticClass:\"duration center-align-input-text\",attrs:{\"color\":\"primary\",\"dense\":\"\",\"outlined\":\"\",\"readonly\":\"\",\"disabled\":!_vm.editMode,\"hideDetails\":true},model:{value:(_vm.duration.Minutes),callback:function ($$v) {_vm.$set(_vm.duration, \"Minutes\", $$v)},expression:\"duration.Minutes\"}},'v-text-field',attrs,false),on))]}}],null,false,491983062)},[_c('v-list',_vm._l((_vm.minutes),function(item){return _c('v-list-item',{key:item,staticClass:\"item-hover\",on:{\"click\":function($event){_vm.duration.Minutes = item; _vm.durationValidation()}}},[_c('v-list-item-title',[_vm._v(_vm._s(item))])],1)}),1)],1)],1),_c('v-col',{staticClass:\"pa-1\"},[_c('span',{staticStyle:{\"font-size\":\"14px\"}},[_vm._v(\"Min(s)\")])])],1)],1)])])]),(_vm.durationError)?_c('div',{staticClass:\"v-text-field__details\"},[_c('div',{staticClass:\"v-messages theme--light error--text\",attrs:{\"role\":\"alert\"}},[_c('div',{staticClass:\"v-messages__wrapper\"},[_c('div',{staticClass:\"v-messages__message\"},[_vm._v(\"Required\")])])])]):_vm._e()],1),_c('v-col',{staticClass:\"quarter-col\",staticStyle:{\"max-width\":\"250px\"},attrs:{\"md\":\"2.4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{staticClass:\"right-align-input-text\",attrs:{\"label\":\"Temperature\",\"outlined\":\"\",\"suffix\":_vm.decodeHtml('°') + 'C',\"justify\":\"end\",\"rules\":_vm.numericField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-thermometer\"},model:{value:(_vm.TrainingRecord.Temperature),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"Temperature\", $$v)},expression:\"TrainingRecord.Temperature\"}})],1),_c('v-col',{staticClass:\"third-col\",staticStyle:{\"max-width\":\"260px\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{attrs:{\"label\":\"Indication\",\"items\":_vm.TrainingIndications,\"item-text\":\"DisplayName\",\"return-object\":\"\",\"outlined\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-dog\"},model:{value:(_vm.TrainingRecord.Indication),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"Indication\", $$v)},expression:\"TrainingRecord.Indication\"}})],1),_c('v-col',{staticClass:\"two-third-col\",attrs:{\"md\":\"2.4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{ref:\"weatherMultiSelect\",attrs:{\"label\":\"Weather\",\"items\":_vm.WeatherConditions,\"item-text\":\"DisplayName\",\"return-object\":\"\",\"outlined\":\"\",\"chips\":\"\",\"multiple\":\"\",\"rules\":_vm.requiredFieldObj,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-weather-partly-cloudy\"},scopedSlots:_vm._u([{key:\"selection\",fn:function({item, index}){return [(index < _vm.weatherItems)?_c('v-chip',[_c('span',[_vm._v(_vm._s(item.DisplayName))])]):_vm._e(),(index === _vm.weatherItems)?_c('span',{staticClass:\"text-grey text-caption align-self-center\"},[_vm._v(\" (+\"+_vm._s(_vm.TrainingRecord.Weather.length - _vm.weatherItems)+\" others) \")]):_vm._e()]}}],null,false,2793248593),model:{value:(_vm.TrainingRecord.Weather),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"Weather\", $$v)},expression:\"TrainingRecord.Weather\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"half-col type-task-col\",attrs:{\"md\":\"6\"}},[_c('v-row',[_c('v-col',{staticClass:\"third-col\",attrs:{\"md\":\"6\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{attrs:{\"label\":\"Type of Search\",\"items\":_vm.TrainingTypes,\"item-text\":\"DisplayName\",\"outlined\":\"\",\"return-object\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-clipboard-search\"},model:{value:(_vm.TrainingRecord.Type),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"Type\", $$v)},expression:\"TrainingRecord.Type\"}})],1),_c('v-col',{staticClass:\"third-col\",attrs:{\"md\":\"6\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{attrs:{\"label\":\"Task\",\"items\":_vm.TrainingTasks,\"item-text\":\"DisplayName\",\"outlined\":\"\",\"return-object\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-format-list-bulleted\"},model:{value:(_vm.TrainingRecord.Task),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"Task\", $$v)},expression:\"TrainingRecord.Task\"}})],1)],1)],1),_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"6\"}},[_c('span',{staticClass:\"text-h6 font-weight-light pb-0 pl-0\"},[_vm._v(\"Setup:\")]),_c('v-row',[_c('v-col',{staticClass:\"eighth-col\",attrs:{\"md\":\"3\",\"align\":\"right\"}},[_c('v-radio-group',{staticClass:\"radio\",attrs:{\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.TrainingRecord.SetupKnownBlind),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"SetupKnownBlind\", $$v)},expression:\"TrainingRecord.SetupKnownBlind\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"chip\"}}):_c('v-radio',{attrs:{\"label\":\"Known\",\"value\":\"Known\"}}),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"chip\"}}):_c('v-radio',{attrs:{\"label\":\"Blind\",\"value\":\"Blind\"}})],1)],1),_c('v-col',{staticClass:\"eighth-col\",attrs:{\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"radio\",attrs:{\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.TrainingRecord.SetupPositiveBlank),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"SetupPositiveBlank\", $$v)},expression:\"TrainingRecord.SetupPositiveBlank\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"chip\"}}):_c('v-radio',{attrs:{\"label\":\"Positive\",\"value\":\"Positive\"}}),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"chip\"}}):_c('v-radio',{attrs:{\"label\":\"Blank\",\"value\":\"Blank\"}})],1)],1),_c('v-col',{staticClass:\"eighth-col\",attrs:{\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"radio\",attrs:{\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.TrainingRecord.SetupVisualHidden),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"SetupVisualHidden\", $$v)},expression:\"TrainingRecord.SetupVisualHidden\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"chip\"}}):_c('v-radio',{attrs:{\"label\":\"Visual\",\"value\":\"Visual\"}}),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"chip\"}}):_c('v-radio',{attrs:{\"label\":\"Hidden\",\"value\":\"Hidden\"}})],1)],1),_c('v-col',{staticClass:\"eighth-col\",attrs:{\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"radio\",attrs:{\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.TrainingRecord.SetupOnOffLead),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"SetupOnOffLead\", $$v)},expression:\"TrainingRecord.SetupOnOffLead\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"chip\"}}):_c('v-radio',{attrs:{\"label\":\"On Lead\",\"value\":\"On Lead\"}}),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"chip\"}}):_c('v-radio',{attrs:{\"label\":\"Off Lead\",\"value\":\"Off Lead\"}})],1)],1)],1)],1)],1),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"md\":\"12\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"paragraph\"}}):_c('v-textarea',{attrs:{\"label\":\"Session Goals\",\"outlined\":\"\",\"disabled\":!_vm.editMode}})],1)],1),_c('v-divider',{staticClass:\"mb-5 mt-5\"}),_c('v-row',{staticClass:\"mb-2\",attrs:{\"justify\":\"space-between\"}},[_c('v-col',{attrs:{\"md\":\"4\"}},[_c('span',{staticClass:\"text-h6 font-weight-light pl-0\"},[_vm._v(\"Substance Detection:\")])]),_c('v-col',{attrs:{\"md\":\"4\",\"align\":\"right\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"button\"}}):_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":!_vm.editMode},on:{\"click\":_vm.addNewSubstanceDetection}},[_vm._v(\" Add Substance \")])],1)],1),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"paragraph\"}}):_vm._l((_vm.TrainingRecord.SubstanceDetections),function(substanceDetection){return _c('v-card',{key:substanceDetection.ID,staticClass:\"pa-5 mb-5 subtance-detection\",attrs:{\"outlined\":\"\"}},[_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"third-col\",attrs:{\"md\":\"4\"}},[_c('v-select',{attrs:{\"label\":\"Substance\",\"outlined\":\"\",\"items\":substanceDetection.ID != 0 ? _vm.Substances : _vm.Substances.filter(s => !s.IsDeleted),\"item-text\":\"DisplayName\",\"return-object\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-alert-box\"},model:{value:(substanceDetection.Substance),callback:function ($$v) {_vm.$set(substanceDetection, \"Substance\", $$v)},expression:\"substanceDetection.Substance\"}})],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"md\":\"2\"}},[_c('v-text-field',{staticClass:\"right-align-input-text\",attrs:{\"label\":\"Amount\",\"outlined\":\"\",\"suffix\":\"g\",\"rules\":_vm.numericField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-scale\"},model:{value:(substanceDetection.Amount),callback:function ($$v) {_vm.$set(substanceDetection, \"Amount\", $$v)},expression:\"substanceDetection.Amount\"}})],1),_c('v-col',{staticClass:\"third-col\",attrs:{\"md\":\"4\"}},[_c('v-select',{attrs:{\"label\":\"Packaging\",\"items\":substanceDetection.ID != 0 ? _vm.SubstancePackaging : _vm.SubstancePackaging.filter(s => !s.IsDeleted),\"item-text\":\"DisplayName\",\"return-object\":\"\",\"outlined\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-package-variant\"},model:{value:(substanceDetection.Packaging),callback:function ($$v) {_vm.$set(substanceDetection, \"Packaging\", $$v)},expression:\"substanceDetection.Packaging\"}})],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"md\":\"4\"}},[_c('v-select',{attrs:{\"label\":\"Type\",\"items\":substanceDetection.ID != 0 ? _vm.SubstanceDetectionTypes : _vm.SubstanceDetectionTypes.filter(s => !s.IsDeleted),\"item-text\":\"DisplayName\",\"outlined\":\"\",\"return-object\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-arrow-up-down\"},model:{value:(substanceDetection.Type),callback:function ($$v) {_vm.$set(substanceDetection, \"Type\", $$v)},expression:\"substanceDetection.Type\"}})],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"md\":\"2\"}},[_c('v-container',{staticClass:\"pa-0 mb-8\",staticStyle:{\"max-width\":\"128px\"},on:{\"click\":function($event){substanceDetection.AtHeight = !substanceDetection.AtHeight}}},[_c('custom-checkbox',{staticStyle:{\"max-width\":\"128px\"},attrs:{\"fieldChecked\":substanceDetection.AtHeight,\"label\":\"At height?\",\"disabled\":!_vm.editMode}})],1)],1),_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":\"Hide Location\",\"outlined\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-map-marker-alert\"},model:{value:(substanceDetection.HideLocation),callback:function ($$v) {_vm.$set(substanceDetection, \"HideLocation\", $$v)},expression:\"substanceDetection.HideLocation\"}})],1)],1),_c('v-row',{staticClass:\"mt-0 pa-2\",attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"pl-0 pr-0 pt-1 pb-1\",staticStyle:{\"max-width\":\"72px\"},attrs:{\"md\":\"1\"}},[_c('span',{class:`${!_vm.editMode ? 'disabled' : ''}`},[_c('b',[_vm._v(\"Images: \")])])]),_c('v-col',{staticClass:\"pl-0 pt-1 pb-1\",attrs:{\"md\":\"11\"}},[_vm._l((substanceDetection.Documents.filter(f => f.IsDeleted == false)),function(image){return _c('span',{staticClass:\"pl-0 pr-1 pb-0\"},[_c('a',{staticClass:\"pa-0\",staticStyle:{\"color\":\"#007bff\",\"text-decoration\":\"underline\"},on:{\"click\":function($event){return _vm.downloadFile(image)}}},[_vm._v(_vm._s(image.Name))]),(_vm.editMode)?_c('v-btn',{staticClass:\"ma-0\",attrs:{\"color\":\"red\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.confirmDeleteFile(image)}}},[_c('v-icon',[_vm._v(\" mdi-close-circle \")])],1):_vm._e()],1)}),(_vm.editMode)?_c('v-btn',{staticClass:\"ma-0\",attrs:{\"color\":\"#007bff\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.addSubstanceDetectionFileClick(substanceDetection.Documents)}}},[_c('v-icon',[_vm._v(\" mdi-plus \")])],1):_vm._e()],2)],1),_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-btn',{staticClass:\"mr-2 mb-2\",attrs:{\"color\":\"primary\",\"disabled\":!_vm.editMode},on:{\"click\":function($event){return _vm.removeSubstanceDetection(substanceDetection)}}},[_vm._v(\" Remove Substance \")])],1)],1)}),_c('v-divider',{staticClass:\"mb-8 mt-5\"}),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"pb-0\",attrs:{\"md\":\"12\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"paragraph\"}}):_c('v-textarea',{attrs:{\"label\":\"Development Needs\",\"outlined\":\"\",\"disabled\":!_vm.editMode},model:{value:(_vm.TrainingRecord.DevelopmentNeeds),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"DevelopmentNeeds\", $$v)},expression:\"TrainingRecord.DevelopmentNeeds\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"pb-0\",attrs:{\"md\":\"12\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"paragraph\"}}):_c('v-textarea',{attrs:{\"label\":\"Trainer Observation\",\"outlined\":\"\",\"disabled\":!_vm.editMode},model:{value:(_vm.TrainingRecord.TrainerObservation),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"TrainerObservation\", $$v)},expression:\"TrainingRecord.TrainerObservation\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"pb-0\",attrs:{\"md\":\"12\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"paragraph\"}}):_c('v-textarea',{attrs:{\"label\":\"Handler Comments\",\"outlined\":\"\",\"disabled\":_vm.TrainingRecord.HandlerApproved != null || _vm.TrainingRecord.IsDeleted || !_vm.isHandler()},model:{value:(_vm.TrainingRecord.HandlerComments),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"HandlerComments\", $$v)},expression:\"TrainingRecord.HandlerComments\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"signature-col pt-0\",attrs:{\"md\":\"6\"}},[_c('span',{staticClass:\"text-h6 font-weight-light pl-0\"},[_vm._v(\"Trainer Signature\")]),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"card\"}}):_c('div',[_c('v-card',{staticClass:\"signature-card mt-2 mb-2\",attrs:{\"outlined\":\"\",\"height\":\"125px\"}},[_c('v-row',{staticClass:\"ma-0 pa-0\",staticStyle:{\"height\":\"100px\"},attrs:{\"justify\":\"center\",\"align\":\"center\"}},[(_vm.submittingTrainerSig)?_c('v-progress-circular',{staticClass:\"ma-25\",attrs:{\"size\":50,\"color\":\"primary\",\"indeterminate\":\"\"}}):_vm._e(),(!_vm.submittingTrainerSig && _vm.TrainingRecord.TrainerApproved == null && _vm.isTrainer())?_c('VueSignaturePad',{ref:\"trainerSignaturePad\",attrs:{\"id\":\"TrainerSignature\",\"width\":\"100%\",\"height\":\"100px\"}}):_vm._e(),(!_vm.submittingTrainerSig && _vm.TrainingRecord.TrainerApproved != null)?_c('v-img',{attrs:{\"src\":_vm.trainerSignature,\"height\":\"100px\",\"width\":\"100%\",\"contain\":\"\"}}):_vm._e()],1),_c('v-row',{staticClass:\"ma-0\"},[_c('v-divider')],1),_c('v-row',{staticClass:\"ma-0 mr-2\",staticStyle:{\"height\":\"22px\"},attrs:{\"justify\":\"end\",\"align\":\"center\"}},[_c('span',{staticClass:\"signature-label\"},[_vm._v(\" \"+_vm._s(_vm.TrainingRecord.TrainerApproved ? ('Signed by ' + _vm.TrainingRecord.Trainer.FullName + ' on ' + new Date(_vm.TrainingRecord.TrainerApproved).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})) : 'Awaiting Signature')+\" \")])])],1),_c('v-row',{staticClass:\"pa-3\",attrs:{\"justify\":\"space-between\"}},[_c('v-btn',{attrs:{\"color\":\"primary\",\"outlined\":\"\",\"disabled\":_vm.TrainingRecord.TrainerApproved != null || !_vm.isTrainer()},on:{\"click\":_vm.undoTrainerSig}},[_vm._v(\"Undo\")])],1)],1)],1),_c('v-col',{staticClass:\"signature-col pt-0\",attrs:{\"md\":\"6\"}},[_c('span',{staticClass:\"text-h6 font-weight-light pl-0\"},[_vm._v(\"Handler Signature\")]),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"card\"}}):_c('div',[_c('v-card',{staticClass:\"signature-card mt-2 mb-2\",attrs:{\"outlined\":\"\",\"height\":\"125px\"}},[_c('v-row',{staticClass:\"ma-0 pa-0\",staticStyle:{\"height\":\"100px\"},attrs:{\"justify\":\"center\",\"align\":\"center\"}},[(_vm.submittingHandlerSig)?_c('v-progress-circular',{staticClass:\"ma-25\",attrs:{\"size\":50,\"color\":\"primary\",\"indeterminate\":\"\"}}):_vm._e(),(!_vm.submittingTrainerSig && _vm.TrainingRecord.HandlerApproved == null && _vm.TrainingRecord.TrainerApproved != null && _vm.isHandler())?_c('VueSignaturePad',{ref:\"handlerSignaturePad\",attrs:{\"id\":\"HandlerSignature\",\"width\":\"100%\",\"height\":\"100px\"}}):_vm._e(),(!_vm.submittingHandlerSig && _vm.TrainingRecord.HandlerApproved != null)?_c('v-img',{attrs:{\"src\":_vm.handlerSignature,\"height\":\"100px\",\"width\":\"100%\",\"contain\":\"\"}}):_vm._e()],1),_c('v-row',{staticClass:\"ma-0\"},[_c('v-divider')],1),_c('v-row',{staticClass:\"ma-0 mr-2\",staticStyle:{\"height\":\"22px\"},attrs:{\"justify\":\"end\",\"align\":\"center\"}},[_c('span',{staticClass:\"signature-label\"},[_vm._v(\" \"+_vm._s(_vm.TrainingRecord.HandlerApproved ? ('Signed by ' + _vm.TrainingRecord.DogHandlerTeam.Handler.FullName + ' on ' + new Date(_vm.TrainingRecord.HandlerApproved).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})) : 'Awaiting Signature')+\" \")])])],1),_c('v-row',{staticClass:\"pa-3\",attrs:{\"justify\":\"space-between\"}},[_c('v-btn',{attrs:{\"color\":\"primary\",\"outlined\":\"\",\"disabled\":_vm.TrainingRecord.HandlerApproved != null || _vm.TrainingRecord.TrainerApproved == null || !_vm.isHandler()},on:{\"click\":_vm.undoHandlerSig}},[_vm._v(\"Undo\")])],1)],1)],1)],1),_c('v-row',{staticClass:\"mb-2 mt-10\",attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"pa-0\",staticStyle:{\"max-width\":\"90px\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"button\"}}):_vm._e(),(!_vm.loadingData && _vm.TrainingRecord.ID != 0)?_c('v-btn',{staticClass:\"white--text\",attrs:{\"color\":_vm.TrainingRecord.IsDeleted ? 'restore': 'red',\"max-width\":\"125px\",\"disabled\":!_vm.checkPermission('EditTrainingRecords')},on:{\"click\":function($event){_vm.confirmArchiveRestoreModal = true}}},[_vm._v(\" \"+_vm._s(_vm.TrainingRecord.IsDeleted ? 'Restore' : 'Archive')+\" \")]):_vm._e()],1),_c('v-col',[_c('v-row',{attrs:{\"justify\":\"end\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"actions\"}}):_vm._e(),(!_vm.loadingData)?_c('v-btn',{staticClass:\"mr-2 cancel-in-line\",attrs:{\"outlined\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.goBack()}}},[_vm._v(\" Cancel \")]):_vm._e(),(!_vm.loadingData)?_c('v-btn',{staticClass:\"mr-2\",attrs:{\"color\":\"primary\",\"disabled\":_vm.savingData || (!_vm.editMode && _vm.TrainingRecord.HandlerApproved != null) || _vm.TrainingRecord.IsDeleted,\"loading\":_vm.savingData},on:{\"click\":function($event){return _vm.saveTrainingRecord()}}},[_vm._v(\" Save \")]):_vm._e(),(!_vm.loadingData)?_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.savingData || !((_vm.isTrainer() && _vm.TrainingRecord.TrainerApproved == null) || (_vm.isHandler() && _vm.TrainingRecord.HandlerApproved == null)) || _vm.TrainingRecord.ID == 0 || _vm.TrainingRecord.IsDeleted,\"loading\":_vm.savingData},on:{\"click\":function($event){return _vm.submitTrainingRecord()}}},[_vm._v(\" \"+_vm._s(_vm.TrainingRecord.TrainerApproved ? 'Approve' : 'Submit')+\" \")]):_vm._e()],1)],1)],1),_c('v-row',{staticClass:\"mb-2\",attrs:{\"justify\":\"end\"}},[(!_vm.loadingData)?_c('v-btn',{staticClass:\"cancel-new-line\",attrs:{\"outlined\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.goBack()}}},[_vm._v(\" Cancel \")]):_vm._e()],1),(_vm.TrainingRecord.ModifiedBy != null && _vm.TrainingRecord.Modified != null)?_c('v-row',[_c('span',{staticClass:\"text-caption\"},[_vm._v(\"Last modified by \"+_vm._s(_vm.TrainingRecord.ModifiedBy.FullName)+\" on \"+_vm._s(new Date(_vm.TrainingRecord.Modified).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})))])]):_vm._e(),_c('v-row',{staticClass:\"mt-10 mb-5\",attrs:{\"align\":\"center\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}):_c('span',{staticClass:\"text-p font-weight-light\"},[_vm._v(\" Documents \")]),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"button\"}}):_c('v-btn',{staticClass:\"ml-5\",attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.$refs.DocumentUpload.$refs.input.click()}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" Add \")],1)],1),_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-card',{attrs:{\"width\":\"100%\"}},[_c('v-data-table',{staticClass:\"elevation-2 pa3 no-select\",attrs:{\"headers\":_vm.headers,\"items\":_vm.fileVMs.filter(f => f.IsDeleted == false),\"loading\":_vm.loadingData || _vm.uploadingFiles,\"loading-text\":\"Loading... Please Wait\",\"no-data-text\":\"No documents uploaded\"},scopedSlots:_vm._u([{key:\"item.Uploaded\",fn:function({ item }){return [_c('span',[_vm._v(_vm._s(new Date(item.Uploaded).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})))])]}},{key:\"item.Download\",fn:function({ item }){return [(item.ID != 0)?_c('v-btn',{attrs:{\"outlined\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.downloadFile(item)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-download-circle\")]),_vm._v(\" Download \")],1):_vm._e()]}},{key:\"item.Delete\",fn:function({ item }){return [_c('v-btn',{staticClass:\"white--text\",attrs:{\"color\":\"red\"},on:{\"click\":function($event){return _vm.confirmDeleteFile(item)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-trash-can-outline\")]),_vm._v(\" Delete \")],1)]}}],null,false,2583102090)})],1)],1),_c('v-file-input',{ref:\"DocumentUpload\",staticStyle:{\"display\":\"none\"},attrs:{\"small-chips\":\"\",\"multiple\":\"\"},on:{\"change\":_vm.addFile},model:{value:(_vm.lastAddedFiles),callback:function ($$v) {_vm.lastAddedFiles=$$v},expression:\"lastAddedFiles\"}}),_c('v-file-input',{ref:\"SubstanceDetectionDocumentUpload\",staticStyle:{\"display\":\"none\"},attrs:{\"small-chips\":\"\",\"multiple\":\"\"},on:{\"change\":_vm.addSubstanceDetectionFile},model:{value:(_vm.substanceDetectionLastAddedFiles),callback:function ($$v) {_vm.substanceDetectionLastAddedFiles=$$v},expression:\"substanceDetectionLastAddedFiles\"}}),_c('v-dialog',{attrs:{\"max-width\":\"400\",\"persistent\":\"\"},model:{value:(_vm.confirmDeleteModal),callback:function ($$v) {_vm.confirmDeleteModal=$$v},expression:\"confirmDeleteModal\"}},[_c('v-card',{attrs:{\"prepend-icon\":\"mdi-update\"}},[_c('v-card-title',[_vm._v(\" Confirm Remove \")]),_c('v-card-text',[_vm._v(\" Are you sure you want to remove this Substance Detection? \")]),_c('v-card-actions',[_c('v-btn',{staticClass:\"ms-auto\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.confirmDeleteModal = false}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.confirmRemoveSubstanceDetection}},[_vm._v(\" Confirm \")])],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"400\",\"persistent\":\"\"},model:{value:(_vm.confirmArchiveRestoreModal),callback:function ($$v) {_vm.confirmArchiveRestoreModal=$$v},expression:\"confirmArchiveRestoreModal\"}},[_c('v-card',{attrs:{\"prepend-icon\":\"mdi-update\"}},[_c('v-card-title',[_vm._v(\" Confirm \"+_vm._s(_vm.TrainingRecord.IsDeleted ? 'Restore' : 'Archive')+\" \")]),_c('v-card-text',[_vm._v(\" Are you sure you want to \"+_vm._s(_vm.TrainingRecord.IsDeleted ? 'restore' : 'archive')+\" this Training Record? \")]),_c('v-card-actions',[_c('v-btn',{staticClass:\"ms-auto\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.confirmArchiveRestoreModal = false}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.archiveRestoreRecord}},[_vm._v(\" Confirm \")])],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"400\",\"persistent\":\"\"},model:{value:(_vm.confirmDeleteFileModal),callback:function ($$v) {_vm.confirmDeleteFileModal=$$v},expression:\"confirmDeleteFileModal\"}},[_c('v-card',{attrs:{\"prepend-icon\":\"mdi-update\"}},[_c('v-card-title',[_vm._v(\" Confirm Delete \")]),_c('v-card-text',[_vm._v(\" Are you sure you want to delete this Image? \")]),_c('v-card-actions',[_c('v-btn',{staticClass:\"ms-auto\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.confirmDeleteFileModal = false}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.deleteFile}},[_vm._v(\" Confirm \")])],1)],1)],1),_c('v-snackbar',{attrs:{\"color\":\"success\",\"timeout\":\"3000\",\"elevation\":\"24\"},model:{value:(_vm.showSaveSuccess),callback:function ($$v) {_vm.showSaveSuccess=$$v},expression:\"showSaveSuccess\"}},[_vm._v(\" Training Record saved successfully \")]),_c('v-snackbar',{attrs:{\"color\":\"red\",\"timeout\":\"3000\",\"elevation\":\"24\"},model:{value:(_vm.showErrorMessage),callback:function ($$v) {_vm.showErrorMessage=$$v},expression:\"showErrorMessage\"}},[_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")]),_c('v-snackbar',{attrs:{\"timeout\":\"2000\",\"elevation\":\"24\"},model:{value:(_vm.showSignatureRequired),callback:function ($$v) {_vm.showSignatureRequired=$$v},expression:\"showSignatureRequired\"}},[_vm._v(\" Signature Required \")])],2),_c('v-btn',{directives:[{name:\"scroll\",rawName:\"v-scroll\",value:(_vm.onScroll),expression:\"onScroll\"},{name:\"show\",rawName:\"v-show\",value:(_vm.fab),expression:\"fab\"}],attrs:{\"fab\":\"\",\"dark\":\"\",\"fixed\":\"\",\"bottom\":\"\",\"right\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.toTop}},[_c('v-icon',[_vm._v(\"mdi-chevron-up\")])],1)],1)],1):_c('v-container',[_c('v-alert',{staticClass:\"mt-5\",attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"warning\",\"elevation\":\"2\"}},[_vm._v(\" Error: Could not retrieve data for Training Record. \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n splitDate(inDate: Date) {\r\n var date = new Date(inDate.getTime() - (inDate.getTimezoneOffset() * 60000)).toISOString().split('T')[0];\r\n var time = (new Date(inDate.getTime() - (inDate.getTimezoneOffset() * 60000)).toISOString().split('T')[1]).split(':').slice(0, 2).join(':');\r\n\r\n return [ date, time ];\r\n },\r\n\r\n createDateTime(inDate: string, inTime: string) {\r\n\r\n return new Date(inDate + 'T' + inTime + ':00');\r\n },\r\n\r\n splitTimeMinutes(totalMinutes: number) {\r\n var hours = (totalMinutes - (totalMinutes % 60)) / 60;\r\n var minutes = totalMinutes - (hours * 60);\r\n\r\n return [ hours, minutes ]\r\n },\r\n\r\n convertToMinutes(hours: number, minutes: number) {\r\n return (hours * 60) + minutes\r\n }\r\n}","\r\n import { Vue, Component, Prop } from 'vue-property-decorator'\r\n import TrainingRecordDetailDTO from '../DTOs/TrainingRecordDetailDTO';\r\n import api from '../utils/api'\r\n import Option from '../models/Option'\r\n import DateTimeUtil from '../utils/DateTimeUtil'\r\n import { Sex } from '../models/Dog'\r\n import router from '../router';\r\n import DogHandlerTeam from '../models/DogHandlerTeam';\r\n import TrainingSubstanceDetection from '../models/TrainingSubstanceDetection'\r\n import TrainingRecord from '../models/TrainingRecord'\r\n import CurrentUser from '../utils/CurrentUser';\r\n import Location from '../models/Location';\r\n import FileVM from '../viewmodels/FileVM';\r\n import FileHelper from '../utils/FileHelper';\r\n import MultiSelectUtil from '../utils/MultiSelectUtil';\r\n import $ from \"jquery\";\r\n\r\n @Component({\r\n name: 'TrainingRecord'\r\n })\r\n export default class TrainingRecordDetails extends Vue {\r\n @Prop(Number) id!: number;\r\n\r\n editMode: boolean = false;\r\n\r\n activePicker: any = null;\r\n date: Date | null | string = null;\r\n dateModal: boolean = false;\r\n timeModal: boolean = false;\r\n durationModal: boolean = false;\r\n time: string | null = null;\r\n Sexes = [Sex.Male, Sex.Female];\r\n\r\n loadingData: boolean = false;\r\n savingData: boolean = false;\r\n uploadingFiles: boolean = false;\r\n showError: boolean = false;\r\n showErrorMessage: boolean = false;\r\n errorText: string = 'An error occurred';\r\n durationError: boolean = false;\r\n showSaveSuccess: boolean = false;\r\n confirmDeleteModal: boolean = false;\r\n confirmArchiveRestoreModal: boolean = false;\r\n confirmDeleteFileModal: boolean = false;\r\n valid: boolean = true;\r\n showSignatureRequired: boolean = false;\r\n submittingTrainerSig: boolean = false;\r\n submittingHandlerSig: boolean = false;\r\n fab: boolean = false;\r\n fileForDeletion: FileVM | null = null;\r\n\r\n duration = {Hours: 0, Minutes: 0};\r\n weatherItems: number = 0;\r\n\r\n hours = [0];\r\n minutes = [0];\r\n\r\n headers = [\r\n { text: 'Name', value: 'Name', sortable: false },\r\n { text: 'File Type', value: 'FileType', sortable: false },\r\n { text: 'Uploaded', value: 'Uploaded', sortable: false },\r\n { text: '', value: 'Download', sortable: false, width: '6%' },\r\n { text: '', value: 'Delete', sortable: false, width: '6%' },\r\n ];\r\n\r\n // file-input only stores last added files\r\n lastAddedFiles: File[] = [];\r\n fileVMs: FileVM[] = [];\r\n\r\n selectedSubstanceDetectionFiles: FileVM[] | null = null;\r\n substanceDetectionLastAddedFiles: File[] = [];\r\n\r\n //@ts-ignore\r\n TrainingRecord: TrainingRecord = {\r\n //@ts-ignore\r\n ID: 0, Completed: null, Location: null, Type: null, Task: null, DogHandlerTeam: {\r\n //@ts-ignore\r\n Handler: { FullName: '' }, Dog: { Name: '' }\r\n //@ts-ignore\r\n }, Trainer: null, Temperature: null, Weather: [], SetupKnownBlind: '', SetupOnOffLead: '', SetupPositiveBlank: '', SetupVisualHidden: '', Goal: '', TrainerObservation: '', HandlerComment: '', TrainerApproved: null, HandlerApproved: null, IsDeleted: false, SubstanceDetections: []\r\n };\r\n\r\n TrainingLocations: Location[] = [];\r\n TrainingTypes: Option[] = [];\r\n TrainingTasks: Option[] = [];\r\n TrainingIndications: Option[] = [];\r\n Substances: Option[] = [];\r\n SubstanceDetectionTypes: Option[] = [];\r\n SubstancePackaging: Option[] = [];\r\n WeatherConditions: Option[] = [];\r\n\r\n trainerSignature: string = '';\r\n handlerSignature: string = '';\r\n\r\n substanceDetectionToRemove: TrainingSubstanceDetection | null = null;\r\n\r\n DogHandlerTeams: DogHandlerTeam[] = [];\r\n\r\n async created() {\r\n this.loadingData = true;\r\n for (let i = 1; i <= 12; i++) {this.hours.push(i)};\r\n for (let i = 5; i < 60; i = i + 5) {this.minutes.push(i)};\r\n\r\n let trainingRecordDetailResponse = await api.get('Training/TrainingRecordDetail?id=' + this.id + '&accessToken=' + CurrentUser.currentUserToken());\r\n\r\n if (trainingRecordDetailResponse.ok) {\r\n\r\n let responseData = trainingRecordDetailResponse.data;\r\n this.TrainingLocations = responseData!.LocationOptions;\r\n this.TrainingTypes = responseData!.TrainingTypeOptions;\r\n this.TrainingTasks = responseData!.TrainingTaskOptions;\r\n this.TrainingIndications = responseData!.TrainingIndicationOptions;\r\n this.Substances = responseData!.SubstanceOptions;\r\n this.SubstanceDetectionTypes = responseData!.SubstanceTypeOptions;\r\n this.SubstancePackaging = responseData!.SubstancePackagingOptions;\r\n this.WeatherConditions = responseData!.WeatherOptions;\r\n this.DogHandlerTeams = responseData!.DogHandlerTeams;\r\n if (responseData!.Documents) this.fileVMs = responseData!.Documents;\r\n \r\n if (this.id != 0) {\r\n this.TrainingRecord = responseData!.TrainingRecord;\r\n //DateTime fields1\r\n [this.date, this.time] = DateTimeUtil.splitDate(new Date(this.TrainingRecord.Completed));\r\n //Duration fields\r\n [this.duration.Hours, this.duration.Minutes] = DateTimeUtil.splitTimeMinutes(this.TrainingRecord.DurationMinutes);\r\n }\r\n\r\n // Handlers can only view their own training records\r\n if (CurrentUser.currentUserRole() == \"Handler\" && this.TrainingRecord.DogHandlerTeam?.Handler.ID != CurrentUser.currentUserID()) {\r\n this.$router.back();\r\n }\r\n\r\n this.editMode = CurrentUser.hasPermission('EditTrainingRecords') && !this.TrainingRecord.TrainerApproved && !this.TrainingRecord.IsDeleted;\r\n\r\n if (this.TrainingRecord.TrainerApproved) { \r\n let trainerSignatureResponse = await api.getFile('Training/GetSignature?TrainingRecordID=' + this.id + '&SignatureType=TrainerSignature' + '&accessToken=' + CurrentUser.currentUserToken());\r\n\r\n if (trainerSignatureResponse.ok) {\r\n this.trainerSignature = URL.createObjectURL(trainerSignatureResponse.data!);\r\n }\r\n else {\r\n // what should happen?\r\n this.showError = true;\r\n }\r\n }\r\n\r\n if (this.TrainingRecord.HandlerApproved) {\r\n let handlerSignatureResponse = await api.getFile('Training/GetSignature?TrainingRecordID=' + this.id + '&SignatureType=HandlerSignature' + '&accessToken=' + CurrentUser.currentUserToken());\r\n\r\n if (handlerSignatureResponse.ok) {\r\n this.handlerSignature = URL.createObjectURL(handlerSignatureResponse.data!);\r\n\r\n }\r\n else {\r\n // what should happen?\r\n this.showError = true;\r\n }\r\n }\r\n }\r\n else {\r\n this.showError = true;\r\n }\r\n\r\n this.loadingData = false;\r\n }\r\n\r\n updateTrainingRecordIDs(returnedTrainingRecord: TrainingRecord) {\r\n for (var i = 0; i < this.TrainingRecord.SubstanceDetections.length; i++) {\r\n this.TrainingRecord.SubstanceDetections[i].ID = returnedTrainingRecord.SubstanceDetections[i].ID;\r\n }\r\n this.TrainingRecord.ID = returnedTrainingRecord.ID;\r\n }\r\n\r\n async saveTrainingRecord() {\r\n this.durationValidation();\r\n\r\n (this.$refs!.form! as any).validate();\r\n\r\n if (this.valid && !this.durationError) {\r\n this.savingData = true;\r\n this.TrainingRecord.Completed = DateTimeUtil.createDateTime(this.date! as string, this.time!);\r\n if (this.TrainingRecord.TrainerApproved) this.TrainingRecord.TrainerApproved = new Date(this.TrainingRecord.TrainerApproved!);\r\n if (this.TrainingRecord.HandlerApproved) this.TrainingRecord.HandlerApproved = new Date(this.TrainingRecord.HandlerApproved!);\r\n this.TrainingRecord.DurationMinutes = DateTimeUtil.convertToMinutes(this.duration.Hours, this.duration.Minutes);\r\n let trainingRecordUploadResponse = await api.post('Training/SaveTrainingRecord?accessToken=' + CurrentUser.currentUserToken(), this.TrainingRecord);\r\n\r\n if (trainingRecordUploadResponse.ok) {\r\n this.updateTrainingRecordIDs(trainingRecordUploadResponse.data!);\r\n \r\n // Upload files\r\n this.uploadingFiles = true;\r\n let addDeleteFilesResponse = await FileHelper.addDeleteFiles(this.fileVMs, \"TBL_TrainingRecord\", this.TrainingRecord.ID);\r\n this.fileVMs = addDeleteFilesResponse.returnArray;\r\n\r\n // Upload SD files\r\n let addDeleteSubstanceDetectionFiles = await FileHelper.addDeleteSubstanceDetectionFiles(this.TrainingRecord.SubstanceDetections);\r\n\r\n this.TrainingRecord.SubstanceDetections = addDeleteSubstanceDetectionFiles.returnArray;\r\n\r\n this.uploadingFiles = false;\r\n this.showSaveSuccess = addDeleteFilesResponse.success && addDeleteSubstanceDetectionFiles.success;\r\n\r\n this.$router.push('/TrainingRecords');\r\n }\r\n else {\r\n this.showErrorMessage = true;\r\n this.errorText = \"Error: \" + (trainingRecordUploadResponse.error ?? \"Could not save Training Record\");\r\n }\r\n\r\n this.savingData = false;\r\n }\r\n else\r\n {\r\n this.scrollToInvalidField();\r\n }\r\n }\r\n\r\n scrollToInvalidField() {\r\n this.$nextTick(() => {\r\n const el = this.$el.querySelector(\".v-messages.error--text:first-of-type\");\r\n const yOffset = -200;\r\n const y = el!.getBoundingClientRect().top + window.pageYOffset + yOffset;\r\n\r\n window.scrollTo({ top: y, behavior: 'smooth' });\r\n\r\n return;\r\n });\r\n }\r\n\r\n durationValidation(){\r\n if ((this.duration.Hours != 0 || this.duration.Minutes != 0)){\r\n this.durationError = false;\r\n }\r\n else {\r\n this.durationError = true;\r\n }\r\n }\r\n\r\n async submitTrainingRecord() {\r\n this.durationValidation();\r\n (this.$refs!.form! as any).validate();\r\n\r\n if (this.valid && !this.durationError) {\r\n // check for signature\r\n if (CurrentUser.currentUserRole() == \"Handler\") {\r\n if (this.TrainingRecord.TrainerApproved) {\r\n let emptyHandlerSignature = (this.$refs.handlerSignaturePad! as any).isEmpty();\r\n if (emptyHandlerSignature) {\r\n this.showSignatureRequired = true;\r\n }\r\n else {\r\n // save signature\r\n this.savingData = true;\r\n this.submittingHandlerSig = true;\r\n // data is base64 string\r\n var { isEmpty, data } = (this.$refs.handlerSignaturePad! as any).saveSignature();\r\n let success = this.saveSignature(data, \"HandlerSignature\");\r\n if (success) {\r\n this.TrainingRecord.HandlerApproved = new Date();\r\n this.saveTrainingRecord();\r\n }\r\n }\r\n }\r\n else {\r\n // Shouldnt have been enabled\r\n }\r\n }\r\n else if (CurrentUser.currentUserRole() == \"Admin\") {\r\n let emptyTrainerSignature = (this.$refs.trainerSignaturePad! as any).isEmpty();\r\n if (emptyTrainerSignature) {\r\n this.showSignatureRequired = true;\r\n }\r\n else {\r\n // save signature\r\n this.savingData = true;\r\n this.submittingTrainerSig = true;\r\n // data is base64 string\r\n var { isEmpty, data } = (this.$refs.trainerSignaturePad! as any).saveSignature();\r\n let success = this.saveSignature(data, \"TrainerSignature\");\r\n if (success) {\r\n this.TrainingRecord.TrainerApproved = new Date();\r\n this.saveTrainingRecord();\r\n }\r\n }\r\n } \r\n }\r\n else {\r\n this.scrollToInvalidField();\r\n }\r\n }\r\n\r\n async saveSignature(file: string, signatureType: string): Promise {\r\n\r\n let signatureUploadResponse = await api.post('Training/UploadSignature?accessToken=' + CurrentUser.currentUserToken(), { FileBase64string: file, TrainingRecordID: this.TrainingRecord.ID, FileName: signatureType + \".png\" });\r\n\r\n return signatureUploadResponse.ok;\r\n }\r\n\r\n addNewSubstanceDetection() {\r\n let newSubstanceDetection: TrainingSubstanceDetection = {ID: 0, Amount: undefined, HideLocation: '', Observations: '', Substance: undefined, Type: undefined, AtHeight: false, Documents: []};\r\n this.TrainingRecord.SubstanceDetections.push(newSubstanceDetection);\r\n }\r\n\r\n removeSubstanceDetection(substanceDetection: TrainingSubstanceDetection) {\r\n this.confirmDeleteModal = true;\r\n this.substanceDetectionToRemove = substanceDetection;\r\n }\r\n\r\n confirmRemoveSubstanceDetection() {\r\n if (this.substanceDetectionToRemove) {\r\n const index = this.TrainingRecord.SubstanceDetections.indexOf(this.substanceDetectionToRemove);\r\n if (index > -1) {\r\n this.TrainingRecord.SubstanceDetections.splice(index, 1);\r\n }\r\n this.substanceDetectionToRemove = null;\r\n }\r\n this.confirmDeleteModal = false;\r\n }\r\n\r\n undoTrainerSig() {\r\n (this.$refs.trainerSignaturePad! as any).undoSignature();\r\n }\r\n\r\n undoHandlerSig() {\r\n (this.$refs.handlerSignaturePad! as any).undoSignature();\r\n }\r\n\r\n decodeHtml(html: string) {\r\n var txt = document.createElement(\"textarea\");\r\n txt.innerHTML = html;\r\n return txt.value;\r\n }\r\n\r\n async archiveRestoreRecord() {\r\n this.savingData = true;\r\n this.TrainingRecord.IsDeleted = !this.TrainingRecord.IsDeleted;\r\n let trainingRecordUploadResponse = await api.post('Training/SaveTrainingRecord?accessToken=' + CurrentUser.currentUserToken(), this.TrainingRecord);\r\n\r\n if (trainingRecordUploadResponse.ok) {\r\n this.showSaveSuccess = true;\r\n }\r\n else {\r\n this.showErrorMessage = true;\r\n this.errorText = \"Error: \" + (trainingRecordUploadResponse.error ?? \"Could not archive Training Record\");\r\n }\r\n this.savingData = false;\r\n this.confirmArchiveRestoreModal = false;\r\n this.editMode = CurrentUser.hasPermission('EditTrainingRecords') && !this.TrainingRecord.TrainerApproved && !this.TrainingRecord.IsDeleted;\r\n }\r\n\r\n goBack() {\r\n router.back();\r\n }\r\n\r\n onScroll(e: any) {\r\n if (typeof window === 'undefined') return\r\n const top = window.pageYOffset || e.target.scrollTop || 0\r\n this.fab = top > 20\r\n }\r\n\r\n toTop() {\r\n this.$vuetify.goTo(0);\r\n }\r\n\r\n /*Validation*/\r\n requiredField = [\r\n (value: string) => !!value || 'Required'\r\n ];\r\n\r\n numericField = [\r\n (value: string) => (/^-?\\d+$/.test(value)) || 'Required'\r\n ];\r\n\r\n requiredFieldObj = [\r\n (v: any) => Boolean(Object.keys(v || {})[0]) || \"Field is required\"\r\n ]\r\n\r\n teamRequiredField = [\r\n (value: DogHandlerTeam) => (value.Dog.Name != \"\" || value.Handler.FullName != \"\") || 'Required'\r\n ];\r\n\r\n addFile() {\r\n for (let i = 0; i < this.lastAddedFiles.length; i++) {\r\n let file = (this.lastAddedFiles[i] as File);\r\n this.fileVMs.push({ ID: 0, Name: file.name, FileType: file.type.split('/').pop() || '', Uploaded: new Date, ExternalFileName: '', InternalFileName: '', IsDeleted: false, File: file });\r\n }\r\n }\r\n\r\n confirmDeleteFile(file: FileVM) {\r\n this.fileForDeletion = file;\r\n this.confirmDeleteFileModal = true;\r\n }\r\n\r\n async downloadFile(fileInfo: FileVM) {\r\n let file = await api.DownloadFile(fileInfo.ID);\r\n if (file) {\r\n const link = document.createElement('a');\r\n link.href = file;\r\n link.download = fileInfo.ExternalFileName;\r\n link.click();\r\n }\r\n else {\r\n this.showErrorMessage = true;\r\n this.errorText = \"TODO\";\r\n }\r\n }\r\n\r\n async deleteFile() {\r\n let fileInfo = this.fileForDeletion;\r\n if (fileInfo) {\r\n fileInfo.IsDeleted = true;\r\n }\r\n this.confirmDeleteFileModal = false;\r\n }\r\n\r\n addSubstanceDetectionFileClick(substanceDetectionFiles: FileVM[]) {\r\n // Store the specific substance detection files view model so we know which SD to store the files against when they are uploaded\r\n this.selectedSubstanceDetectionFiles = substanceDetectionFiles;\r\n \r\n (this.$refs.SubstanceDetectionDocumentUpload! as any).$refs.input.click();\r\n }\r\n\r\n addSubstanceDetectionFile() {\r\n if (this.selectedSubstanceDetectionFiles) {\r\n for (let i = 0; i < this.substanceDetectionLastAddedFiles.length; i++) {\r\n let file = (this.substanceDetectionLastAddedFiles[i] as File);\r\n this.selectedSubstanceDetectionFiles.push({ ID: 0, Name: file.name, FileType: file.type.split('/').pop() || '', Uploaded: new Date, ExternalFileName: '', InternalFileName: '', IsDeleted: false, File: file });\r\n }\r\n }\r\n }\r\n\r\n isTrainer() : boolean {\r\n return CurrentUser.currentUserRole() == \"Admin\";\r\n }\r\n\r\n isHandler() : boolean {\r\n return CurrentUser.currentUserRole() == \"Handler\";\r\n }\r\n\r\n mounted() {\r\n this.$nextTick(() => {\r\n window.addEventListener('resize', this.detectResizeForWeatherSelect);\r\n window.addEventListener('load', this.detectResizeForWeatherSelect);\r\n });\r\n }\r\n\r\n updated() {\r\n this.detectResizeForWeatherSelect();\r\n }\r\n\r\n detectResizeForWeatherSelect() {\r\n if (this.$refs.weatherMultiSelect) {\r\n this.weatherItems = MultiSelectUtil.numberOfItems(this.$refs.weatherMultiSelect);\r\n }\r\n }\r\n\r\n checkPermission(permission: string) {\r\n return CurrentUser.hasPermission(permission);\r\n }\r\n\r\n test(e: any) {\r\n $(\"#durationInput\").toggleClass('v-input--is-focused');\r\n $(\"#durationInput\").toggleClass('primary--text');\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainingRecordDetails.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainingRecordDetails.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TrainingRecordDetails.vue?vue&type=template&id=89308a38&scoped=true\"\nimport script from \"./TrainingRecordDetails.vue?vue&type=script&lang=ts\"\nexport * from \"./TrainingRecordDetails.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TrainingRecordDetails.vue?vue&type=style&index=0&id=89308a38&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"89308a38\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('span',{staticClass:\"text-h6 font-weight-light\"},[_vm._v(\" Training Aid Placement Records \")])]),_c('v-divider',{staticClass:\"mb-8 mt-5\"}),(!_vm.showError)?_c('v-container',{staticClass:\"ma-0 pa-0\"},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-card',{staticClass:\"mb-5\"},[_c('v-expansion-panels',{attrs:{\"focusable\":\"\"},model:{value:(_vm.openedPanel),callback:function ($$v) {_vm.openedPanel=$$v},expression:\"openedPanel\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('span',{staticClass:\"text-p font-weight-light\"},[_vm._v(\"Filters\")])]),_c('v-expansion-panel-content',[_c('v-row',{staticClass:\"pr-4 pl-4 mt-4\",attrs:{\"justify\":\"space-between\"}},[_c('v-col',{staticClass:\"half-col\"},[_c('v-text-field',{staticClass:\"search-field\",attrs:{\"clearable\":\"\",\"solo\":\"\",\"label\":\"Dog\",\"hide-details\":\"\",\"prepend-inner-icon\":\"mdi-dog-side\"},on:{\"input\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.DogSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"DogSearch\", $$v)},expression:\"searchFields.DogSearch\"}})],1),_c('v-col',{staticClass:\"half-col\"},[_c('v-text-field',{staticClass:\"search-field\",attrs:{\"clearable\":\"\",\"solo\":\"\",\"label\":\"Handler\",\"hide-details\":\"\",\"prepend-inner-icon\":\"mdi-account\"},on:{\"input\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.HandlerSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"HandlerSearch\", $$v)},expression:\"searchFields.HandlerSearch\"}})],1),_c('v-container',{staticClass:\"checkbox-archived ml-0\",on:{\"click\":function($event){_vm.searchFields.showArchived = !_vm.searchFields.showArchived;_vm.filtersChanged = true}}},[_c('custom-checkbox',{attrs:{\"fieldChecked\":_vm.searchFields.showArchived,\"label\":\"Show archived?\"}})],1)],1),_c('v-row',{staticClass:\"pr-4 pl-4\"},[_c('v-col',{staticClass:\"half-col pb-0\",attrs:{\"md\":\"6\"}},[_c('v-select',{attrs:{\"label\":\"Location\",\"solo\":\"\",\"clearable\":\"\",\"items\":_vm.filterOptions.Locations,\"item-text\":\"Code\",\"density\":\"comfortable\",\"prepend-inner-icon\":\"mdi-map-marker\"},on:{\"input\":function($event){_vm.filtersChanged = true}},model:{value:(_vm.searchFields.LocationSearch),callback:function ($$v) {_vm.$set(_vm.searchFields, \"LocationSearch\", $$v)},expression:\"searchFields.LocationSearch\"}})],1)],1),_c('v-row',{staticClass:\"ma-0\",attrs:{\"justify\":\"space-between\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"6\",\"align\":\"left\"}},[(_vm.filtersChanged)?_c('span',{staticClass:\"text-caption red--text\"},[_vm._v(\"Filters have changed. Please re-apply to see updated results.\")]):_vm._e()]),_c('v-col',{staticClass:\"pa-5\",attrs:{\"cols\":\"6\",\"align\":\"right\"}},[_c('v-btn',{staticClass:\"mb-2\",attrs:{\"color\":\"primary\",\"outlined\":\"\"},on:{\"click\":_vm.resetFilter}},[_vm._v(\" Reset \")]),_c('v-btn',{staticClass:\"ml-2 mb-2\",attrs:{\"color\":\"primary\"},on:{\"click\":_vm.searchRecords}},[_vm._v(\" Apply \")])],1)],1)],1)],1)],1)],1),_c('v-row',{staticClass:\"mb-2\",attrs:{\"justify\":\"end\"}},[_c('v-col',{attrs:{\"md\":\"2\",\"align\":\"right\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"button\"}}):_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.createNewTrainingRecord}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" Add \")],1)],1)],1),_c('v-card',[_c('v-data-table',{staticClass:\"elevation-2 pa3\",attrs:{\"items-per-page\":_vm.pagingData.itemsPerPage,\"footer-props\":{'items-per-page-options': [10, 20, 30, 40, 50, -1]},\"headers\":_vm.headers,\"items\":_vm.trainingRecords,\"server-items-length\":_vm.totalRecords,\"item-class\":_vm.getRowClass,\"loading\":_vm.loadingRecords,\"loading-text\":\"Loading... Please Wait\",\"mobile-breakpoint\":824},on:{\"update:options\":_vm.loadRecords,\"update:itemsPerPage\":_vm.savePagingData,\"click:row\":_vm.viewEditTrainingRecord},scopedSlots:_vm._u([{key:\"item.Completed\",fn:function({ item }){return [_c('span',[_vm._v(_vm._s(new Date(item.Completed).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})))])]}},{key:\"item.IsDeleted\",fn:function({ item }){return [(item.IsDeleted)?_c('v-chip',{attrs:{\"color\":\"red\",\"text-color\":\"white\",\"size\":\"small\"}},[_vm._v(\"Archived\")]):_vm._e()]}}],null,false,2175926498)})],1)],1):_c('v-alert',{staticClass:\"mt-5\",attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"warning\",\"elevation\":\"2\"}},[_vm._v(\" Error: Could not retrieve data for TAP Records. \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Component, Prop } from 'vue-property-decorator'\r\n import api from '../utils/api'\r\n import PagedTAPRecordsDTO from '../DTOs/PagedTAPRecordsDTO'\r\n import Option from '../models/Option';\r\n import CurrentUser from '../utils/CurrentUser';\r\n import Location from '../models/Location';\r\n import PagedTAPRecordVM from '../viewmodels/TAPRecordVM';\r\n\r\n interface PagingData {\r\n page: number;\r\n itemsPerPage: number;\r\n sortBy: string[];\r\n sortDesc: string[];\r\n DogSearch: string;\r\n HandlerSearch: string;\r\n LocationSearch: string;\r\n TaskSearch: string;\r\n IncludeArchived: boolean | null;\r\n }\r\n\r\n interface FilterOptions {\r\n Locations: Location[];\r\n Tasks: Option[];\r\n }\r\n\r\n @Component({\r\n name: 'TAPRecords'\r\n })\r\n export default class TAPRecords extends Vue {\r\n select: string = '';\r\n loadingData: boolean = false;\r\n showError: boolean = false;\r\n loadingRecords: boolean = false;\r\n filtersChanged: boolean = false;\r\n totalRecords: number = 0;\r\n openedPanel: any = null;\r\n\r\n pagingData: PagingData = { page: 1, itemsPerPage: 20, sortBy: [], sortDesc: [], DogSearch: '', HandlerSearch: '', LocationSearch: '', TaskSearch: '', IncludeArchived: false };\r\n searchFields: any = { DogSearch: '', HandlerSearch: '', LocationSearch: '', TaskSearch: '', showArchived: false };\r\n\r\n filterOptions: FilterOptions = { Locations: [], Tasks: []};\r\n\r\n headers = [\r\n { text: 'Date & Time', value: 'Completed', filterable: false, width: '22%' },\r\n { text: 'Team', value: 'Team', sortable: false, width: '24%' },\r\n { text: 'Location', value: 'Location', width: '23%' },\r\n { text: 'Task', value: 'Task', width: '15%' },\r\n { text: 'Status', value: 'IsDeleted', width: '15%' },\r\n ];\r\n\r\n trainingRecords: PagedTAPRecordVM[] = [];\r\n\r\n async created() {\r\n this.loadingData = true;\r\n\r\n let trainingDropdownsResponse = await api.get('Training/PopulateDropdowns?accessToken=' + CurrentUser.currentUserToken());\r\n\r\n if (trainingDropdownsResponse.ok) {\r\n this.filterOptions = trainingDropdownsResponse.data!;\r\n\r\n let filterRequired = false;\r\n let storedPagingData = localStorage.getItem(\"trainingRecordPagingData\");\r\n let storedSearchFields = localStorage.getItem(\"trainingRecordSearchFields\");\r\n\r\n if (storedPagingData) {\r\n this.pagingData = JSON.parse(storedPagingData);\r\n filterRequired = true;\r\n }\r\n\r\n if (storedSearchFields) {\r\n this.searchFields = JSON.parse(storedSearchFields);\r\n filterRequired = true;\r\n }\r\n if (filterRequired) {\r\n this.openedPanel = 0;\r\n this.searchRecords();\r\n }\r\n }\r\n else {\r\n this.showError = true;\r\n }\r\n\r\n this.loadingData = false;\r\n }\r\n\r\n async searchRecords() {\r\n this.savePagingData();\r\n\r\n this.loadRecords(this.pagingData);\r\n this.scrollToResults();\r\n }\r\n\r\n savePagingData() {\r\n localStorage.setItem(\"trainingRecordPagingData\", JSON.stringify(this.pagingData));\r\n localStorage.setItem(\"trainingRecordSearchFields\", JSON.stringify(this.searchFields));\r\n }\r\n\r\n async loadRecords(pagingDataEntry: PagingData ){\r\n this.loadingRecords = true;\r\n this.filtersChanged = false;\r\n this.pagingData = pagingDataEntry;\r\n\r\n this.pagingData.DogSearch = this.searchFields.DogSearch;\r\n this.pagingData.HandlerSearch = this.searchFields.HandlerSearch;\r\n this.pagingData.LocationSearch = this.searchFields.LocationSearch;\r\n this.pagingData.TaskSearch = this.searchFields.TaskSearch;\r\n this.pagingData.IncludeArchived = this.searchFields.showArchived ? this.searchFields.showArchived : false;\r\n\r\n let trainingRecordsResponse = await api.post('Training/PagedTAPRecords?accessToken=' + CurrentUser.currentUserToken(), this.pagingData);\r\n\r\n if (trainingRecordsResponse.ok) {\r\n this.trainingRecords = trainingRecordsResponse.data!.PagedTAPRecords;\r\n this.totalRecords = trainingRecordsResponse.data!.Total;\r\n this.loadingRecords = false;\r\n }\r\n }\r\n\r\n viewEditTrainingRecord(item: PagedTAPRecordVM) {\r\n this.$router.push('/TAPRecordDetails/' + item.ID);\r\n }\r\n\r\n createNewTrainingRecord(){\r\n this.$router.push('/TAPRecordDetails/0');\r\n }\r\n\r\n resetFilter() {\r\n Object.entries(this.searchFields).forEach(([key, val]) => {\r\n this.searchFields[key] = '';\r\n });\r\n\r\n localStorage.removeItem(\"trainingRecordPagingData\");\r\n localStorage.removeItem(\"trainingRecordSearchFields\");\r\n\r\n this.loadRecords(this.pagingData);\r\n this.scrollToResults();\r\n }\r\n\r\n getRowClass(item: PagedTAPRecordVM) {\r\n return item.IsDeleted ? 'archived-row' : '';\r\n }\r\n\r\n scrollToResults() {\r\n this.$nextTick(() => {\r\n const el = this.$el.querySelector(\".v-data-table:first-of-type\");\r\n const yOffset = -88;\r\n const y = el!.getBoundingClientRect().top + window.pageYOffset + yOffset;\r\n\r\n window.scrollTo({ top: y, behavior: 'smooth' });\r\n\r\n return;\r\n });\r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TAPRecords.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TAPRecords.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TAPRecords.vue?vue&type=template&id=687f75ca\"\nimport script from \"./TAPRecords.vue?vue&type=script&lang=ts\"\nexport * from \"./TAPRecords.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.showError)?_c('v-card',{staticClass:\"top-level-container\"},[(!_vm.showError)?_c('v-container',[_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('span',{staticClass:\"text-h6 font-weight-light pt-3\"},[_vm._v(\" Training Aid Placement (TAP) Record \")]),(_vm.TAPRecord.IsDeleted)?_c('v-chip',{attrs:{\"color\":\"red\",\"outlined\":\"\",\"label\":\"\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"red\"}},[_vm._v(\" mdi-archive-outline \")]),_vm._v(\" ARCHIVED \")],1):_vm._e()],1),_c('v-divider',{staticClass:\"mb-10 mt-5\"}),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"md\":\"6\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{attrs:{\"label\":\"Select Team\",\"outlined\":\"\",\"item-text\":item => item.Dog.Name +' - '+ item.Handler.FullName,\"items\":_vm.DogHandlerTeams,\"return-object\":\"\",\"rules\":_vm.teamRequiredField,\"disabled\":_vm.TAPRecord.ID != 0 || !_vm.editMode},model:{value:(_vm.TAPRecord.DogHandlerTeam),callback:function ($$v) {_vm.$set(_vm.TAPRecord, \"DogHandlerTeam\", $$v)},expression:\"TAPRecord.DogHandlerTeam\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"2.4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{attrs:{\"label\":\"Location\",\"items\":_vm.TrainingLocations,\"item-text\":\"Code\",\"outlined\":\"\",\"return-object\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.TAPRecord.Location),callback:function ($$v) {_vm.$set(_vm.TAPRecord, \"Location\", $$v)},expression:\"TAPRecord.Location\"}})],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"md\":\"2.4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-dialog',{ref:\"dateDialog\",attrs:{\"return-value\":_vm.date,\"persistent\":\"\",\"max-width\":\"290px\"},on:{\"update:returnValue\":function($event){_vm.date=$event},\"update:return-value\":function($event){_vm.date=$event}},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-text-field',_vm._g(_vm._b({attrs:{\"label\":\"Select Date\",\"prepend-inner-icon\":\"mdi-calendar\",\"readonly\":\"\",\"outlined\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}},'v-text-field',attrs,false),on))]}}],null,false,2724933255),model:{value:(_vm.dateModal),callback:function ($$v) {_vm.dateModal=$$v},expression:\"dateModal\"}},[_c('v-date-picker',{on:{\"input\":function($event){return _vm.$refs.dateDialog.save(_vm.date)}},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}})],1)],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"md\":\"2.4\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-dialog',{ref:\"timeDialog\",attrs:{\"return-value\":_vm.time,\"persistent\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},on:{\"update:returnValue\":function($event){_vm.time=$event},\"update:return-value\":function($event){_vm.time=$event}},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-text-field',_vm._g(_vm._b({attrs:{\"label\":\"Select Time\",\"prepend-inner-icon\":\"mdi-clock-time-four-outline\",\"readonly\":\"\",\"outlined\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.time),callback:function ($$v) {_vm.time=$$v},expression:\"time\"}},'v-text-field',attrs,false),on))]}}],null,false,1351406699),model:{value:(_vm.timeModal),callback:function ($$v) {_vm.timeModal=$$v},expression:\"timeModal\"}},[(_vm.timeModal)?_c('v-time-picker',{attrs:{\"full-width\":\"\"},on:{\"click:minute\":function($event){return _vm.$refs.timeDialog.save(_vm.time)}},model:{value:(_vm.time),callback:function ($$v) {_vm.time=$$v},expression:\"time\"}}):_vm._e()],1)],1),_c('v-col',{staticClass:\"third-col\",attrs:{\"md\":\"6\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{attrs:{\"label\":\"Task\",\"items\":_vm.TrainingTasks,\"item-text\":\"DisplayName\",\"outlined\":\"\",\"return-object\":\"\",\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.TAPRecord.Task),callback:function ($$v) {_vm.$set(_vm.TAPRecord, \"Task\", $$v)},expression:\"TAPRecord.Task\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{attrs:{\"md\":\"12\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"paragraph\"}}):_c('v-textarea',{attrs:{\"label\":\"Comments\",\"outlined\":\"\",\"disabled\":!_vm.editMode},model:{value:(_vm.TAPRecord.Comments),callback:function ($$v) {_vm.$set(_vm.TAPRecord, \"Comments\", $$v)},expression:\"TAPRecord.Comments\"}})],1)],1),_c('v-row',{attrs:{\"justify\":\"end\",\"align\":\"center\"}},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"md\":\"3\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"button\"}}):_vm._e(),(!_vm.loadingData && _vm.TAPRecord.ID != 0)?_c('v-btn',{staticClass:\"white--text\",attrs:{\"color\":_vm.TAPRecord.IsDeleted ? 'restore' : 'red',\"max-width\":\"125px\"},on:{\"click\":function($event){_vm.confirmArchiveRestoreModal = true}}},[_vm._v(\" \"+_vm._s(_vm.TAPRecord.IsDeleted ? 'Restore' : 'Archive')+\" \")]):_vm._e()],1),_c('v-col',{attrs:{\"md\":\"9\"}},[_c('v-row',{attrs:{\"justify\":\"end\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"actions\"}}):_c('div',[_c('v-btn',{staticClass:\"mr-2\",attrs:{\"outlined\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.goBack()}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.savingData,\"loading\":_vm.savingData},on:{\"click\":function($event){return _vm.saveTAPRecord()}}},[_vm._v(\" Save \")])],1)],1)],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"400\",\"persistent\":\"\"},model:{value:(_vm.confirmArchiveRestoreModal),callback:function ($$v) {_vm.confirmArchiveRestoreModal=$$v},expression:\"confirmArchiveRestoreModal\"}},[_c('v-card',{attrs:{\"prepend-icon\":\"mdi-update\"}},[_c('v-card-title',[_vm._v(\" Confirm \"+_vm._s(_vm.TAPRecord.IsDeleted ? 'Restore' : 'Archive')+\" \")]),_c('v-card-text',[_vm._v(\" Are you sure you want to \"+_vm._s(_vm.TAPRecord.IsDeleted ? 'restore' : 'archive')+\" this Training Aid Placement Record? \")]),_c('v-card-actions',[_c('v-btn',{staticClass:\"ms-auto\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.confirmArchiveRestoreModal = false}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"text\":\"\",\"disabled\":_vm.savingData,\"loading\":_vm.savingData},on:{\"click\":_vm.archiveRestoreRecord}},[_vm._v(\" Confirm \")])],1)],1)],1),_c('v-snackbar',{attrs:{\"color\":\"success\",\"timeout\":\"3000\",\"elevation\":\"24\"},model:{value:(_vm.showSaveSuccess),callback:function ($$v) {_vm.showSaveSuccess=$$v},expression:\"showSaveSuccess\"}},[_vm._v(\" TAP record saved successfully \")]),_c('v-snackbar',{attrs:{\"color\":\"red\",\"timeout\":\"3000\",\"elevation\":\"24\"},model:{value:(_vm.showErrorMessage),callback:function ($$v) {_vm.showErrorMessage=$$v},expression:\"showErrorMessage\"}},[_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")])],1):_c('v-container',[_c('v-alert',{staticClass:\"mt-5\",attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"warning\",\"elevation\":\"2\"}},[_vm._v(\" Error: Could not retrieve data for Training Record. \")])],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Component, Prop } from 'vue-property-decorator'\r\n import TAPRecordDetailDTO from '../DTOs/TAPRecordDetailDTO';\r\n import TAPRecord from '../models/TAPRecord'\r\n import api from '../utils/api'\r\n import Option from '../models/Option'\r\n import DateTimeUtil from '../utils/DateTimeUtil'\r\n import router from '../router';\r\n import DogHandlerTeam from '../models/DogHandlerTeam';\r\n import CurrentUser from '../utils/CurrentUser';\r\n import Location from '../models/Location';\r\n\r\n @Component({\r\n name: 'TAPRecord'\r\n })\r\n export default class TAPRecordDetails extends Vue {\r\n @Prop(Number) id!: number;\r\n\r\n editMode: boolean = false;\r\n date: Date | null | string = null;\r\n dateModal: boolean = false;\r\n timeModal: boolean = false;\r\n time: string | null = null;\r\n\r\n loadingData: boolean = false;\r\n savingData: boolean = false;\r\n showError: boolean = false;\r\n showErrorMessage: boolean = false;\r\n errorText: string = \"An error occurred\";\r\n showSaveSuccess: boolean = false;\r\n confirmArchiveRestoreModal: boolean = false;\r\n valid: boolean = true;\r\n\r\n //@ts-ignore\r\n TAPRecord: TAPRecord = {\r\n //@ts-ignore\r\n ID: 0, Completed: null, Location: null, Task: null, DogHandlerTeam: {\r\n //@ts-ignore\r\n Handler: { FullName: '' }, Dog: { Name: '' }\r\n }, Comments: '', IsDeleted: false\r\n };\r\n\r\n TrainingLocations: Location[] = [];\r\n TrainingTasks: Option[] = [];\r\n\r\n DogHandlerTeams: DogHandlerTeam[] = [];\r\n\r\n async created() {\r\n this.loadingData = true;\r\n\r\n let TAPRecordDetailResponse = await api.get('Training/TAPRecordDetail?id=' + this.id + '&accessToken=' + CurrentUser.currentUserToken());\r\n\r\n if (TAPRecordDetailResponse.ok) {\r\n\r\n let responseData = TAPRecordDetailResponse.data;\r\n this.TrainingLocations = responseData!.LocationOptions;\r\n this.TrainingTasks = responseData!.TrainingTaskOptions;\r\n this.DogHandlerTeams = responseData!.DogHandlerTeams;\r\n\r\n if (this.id != 0) {\r\n this.TAPRecord = responseData!.TAPRecord;\r\n //DateTime fields1\r\n [this.date, this.time] = DateTimeUtil.splitDate(new Date(this.TAPRecord.Completed));\r\n }\r\n\r\n // Handlers can only view their own training records\r\n if (CurrentUser.currentUserRole() == \"Handler\" && this.TAPRecord.DogHandlerTeam?.Handler.ID != CurrentUser.currentUserID() && this.TAPRecord.ID != 0) {\r\n this.$router.back();\r\n }\r\n\r\n this.editMode = CurrentUser.hasPermission('EditTAPRecords');\r\n }\r\n else {\r\n this.showError = true;\r\n }\r\n this.loadingData = false;\r\n }\r\n\r\n async saveTAPRecord() {\r\n (this.$refs!.form! as any).validate();\r\n\r\n if (this.valid) {\r\n this.savingData = true;\r\n this.TAPRecord.Completed = DateTimeUtil.createDateTime(this.date! as string, this.time!);\r\n let TAPRecordUploadResponse = await api.post('Training/SaveTAPRecord?accessToken=' + CurrentUser.currentUserToken(), this.TAPRecord);\r\n\r\n if (TAPRecordUploadResponse.ok) {\r\n this.showSaveSuccess = true;\r\n this.$router.push('/TAPRecords');\r\n }\r\n else {\r\n this.showErrorMessage = true;\r\n this.errorText = \"Error: \" + (TAPRecordUploadResponse.error ?? \"Could not save Training Record\");\r\n }\r\n this.savingData = false;\r\n }\r\n else\r\n {\r\n this.$nextTick(() => {\r\n const el = this.$el.querySelector(\".v-messages.error--text:first-of-type\");\r\n\r\n const yOffset = -200;\r\n const y = el!.getBoundingClientRect().top + window.pageYOffset + yOffset;\r\n\r\n window.scrollTo({ top: y, behavior: 'smooth' });\r\n\r\n return;\r\n });\r\n return;\r\n }\r\n }\r\n\r\n async archiveRestoreRecord() {\r\n this.savingData = true;\r\n this.TAPRecord.IsDeleted = !this.TAPRecord.IsDeleted;\r\n let TAPRecordUploadResponse = await api.post('Training/SaveTAPRecord?accessToken=' + CurrentUser.currentUserToken(), this.TAPRecord);\r\n\r\n if (TAPRecordUploadResponse.ok) {\r\n this.showSaveSuccess = true;\r\n this.$router.push('/TAPRecords');\r\n }\r\n else {\r\n this.showErrorMessage = true;\r\n this.errorText = \"Error: \" + (TAPRecordUploadResponse.error ?? \"Could not archive Training Record\");\r\n }\r\n\r\n this.savingData = false;\r\n this.confirmArchiveRestoreModal = false;\r\n }\r\n\r\n goBack() {\r\n router.back();\r\n }\r\n\r\n /*Validation*/\r\n requiredField = [\r\n (value: string) => !!value || 'Required'\r\n ];\r\n\r\n teamRequiredField = [\r\n (value: DogHandlerTeam) => (value.Dog.Name != \"\" || value.Handler.FullName != \"\") || 'Required'\r\n ];\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TAPRecordDetails.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TAPRecordDetails.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./TAPRecordDetails.vue?vue&type=template&id=058b0a5e\"\nimport script from \"./TAPRecordDetails.vue?vue&type=script&lang=ts\"\nexport * from \"./TAPRecordDetails.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',{staticClass:\"home-admin-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"pa-0 ma-0\"}),_c('v-row',{attrs:{\"justify\":\"center\"}},_vm._l((_vm.pages),function(page){return _c('v-col',{key:page.text,attrs:{\"md\":\"4\",\"align\":\"center\"}},[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function({ hover }){return [_c('v-card',{staticClass:\"mx-auto d-flex flex-column home-card-admin ma-3\",attrs:{\"to\":page.location,\"color\":hover ? 'hover' : 'primary',\"align\":\"left\"}},[_c('v-card-title',{attrs:{\"primary-title\":\"\"}},[_c('v-row',{staticClass:\"pa-2\"},[_c('v-col',{staticClass:\"pa-0 left-icon\"},[_c('v-icon',{attrs:{\"large\":\"\",\"left\":\"\"}},[_vm._v(_vm._s(page.icon))])],1),_c('v-col',{staticClass:\"pa-0 right-title\"},[_c('div',{staticClass:\"text-h6 pa-0 pt-1 font-weight-bold\"},[_vm._v(_vm._s(page.text))])])],1)],1),_c('v-card-text',{staticClass:\"text-p font-weight-light\"},[_vm._v(\" \"+_vm._s(page.description)+\" \")]),_c('v-card-actions',{staticClass:\"mt-auto\"},[_c('v-list-item',{staticClass:\"grow\"},[_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-icon',{staticClass:\"mr-1 navigate-arrow\"},[_vm._v(\" mdi-arrow-right \")])],1)],1)],1)],1)]}}],null,true)})],1)}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Component, Prop } from 'vue-property-decorator'\r\n\r\n @Component({\r\n name: 'Admin'\r\n })\r\n export default class Admin extends Vue {\r\n pages = [\r\n { text: 'Manager Users', icon: 'mdi-account-multiple', description: 'View or edit existing users, or add a new user.', location: '/Admin/ManageUsers'},\r\n { text: 'Manage Dropdowns', icon: 'mdi-table-edit', description: 'View, edit or add new dropdown options for Training Records and Substance Detections.', location: '/Admin/ManageDropdowns' },\r\n { text: 'Manage Locations', icon: 'mdi-map-marker-multiple-outline', description: 'View or edit existing locations, or add a new location.', location: '/Admin/ManageLocations' },\r\n { text: 'Manage Teams', icon: 'mdi-table-account', description: 'View, archive or create new Dog/Handler teams.', location: '/Admin/ManageTeams' },\r\n { text: 'Reports', icon: 'mdi-chart-line', description: 'Run a training summary report for a Dog/Handler team within a specified time period.', location: '/Admin/Reports' }\r\n ];\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Admin.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Admin.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Admin.vue?vue&type=template&id=65d46bde\"\nimport script from \"./Admin.vue?vue&type=script&lang=ts\"\nexport * from \"./Admin.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',{staticClass:\"fill-height\"},[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\",\"align\":\"center\"}},[_c('v-card',{staticClass:\"elevation-12\",attrs:{\"max-width\":\"400\"}},[_c('v-toolbar',{staticClass:\"primary--text\",attrs:{\"color\":\"header\",\"dark\":\"\",\"flat\":\"\"}},[_c('v-toolbar-title',[_vm._v(\"RFA Tracking\")])],1),_c('v-form',{ref:\"form\",staticClass:\"pa-4\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":\"Email\",\"persistent-placeholder\":\"\",\"rules\":_vm.requiredField},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.submit.apply(null, arguments)}},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('v-text-field',{attrs:{\"label\":\"Password\",\"persistent-placeholder\":\"\",\"type\":\"password\",\"rules\":_vm.requiredField},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.submit.apply(null, arguments)}},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}})],1)],1)],1),_c('v-card-actions',{staticClass:\"justify-center\"},[_c('v-btn',{ref:\"loginButton\",staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"width\":\"100px\",\"color\":\"primary\",\"disabled\":_vm.loadingData,\"loading\":_vm.loadingData},on:{\"click\":_vm.submit}},[_vm._v(\"Login\")])],1),_c('v-card-actions',{},[_c('v-row',{staticClass:\"pl-2 pr-2\"},[_c('v-col',{attrs:{\"cols\":\"6\",\"align\":\"left\"}},[_c('v-checkbox',{staticClass:\"login-input\",attrs:{\"label\":\"Remember me?\"},model:{value:(_vm.rememberMe),callback:function ($$v) {_vm.rememberMe=$$v},expression:\"rememberMe\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\",\"align\":\"right\"}},[_c('a',{attrs:{\"href\":\"ForgotPassword\"}},[_c('span',{staticClass:\"login-input\",staticStyle:{\"text-decoration\":\"underline\"}},[_vm._v(\"Forgot password?\")])])])],1)],1),(_vm.loginFailed)?_c('v-card-text',[_c('v-alert',{staticClass:\"no-flex\",attrs:{\"type\":\"error\"}},[_vm._v(\"Login failed.\")])],1):_vm._e()],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Component } from 'vue-property-decorator'\r\n import api from '@/utils/api'\r\n import LoginResponse from '@/models/LoginResponse'\r\n\r\n @Component\r\n export default class Login extends Vue {\r\n loadingData: boolean = false;\r\n username = '';\r\n password = '';\r\n loginFailed: boolean = false;\r\n rememberMe: boolean = false;\r\n valid: boolean = true;\r\n\r\n created() {\r\n }\r\n\r\n async submit() {\r\n (this.$refs!.form! as any).validate();\r\n\r\n if (this.valid) {\r\n this.loadingData = true;\r\n let result = await api.post(\"login/Authenticate\", { Username: this.username, Password: this.password, RememberMe: this.rememberMe });\r\n if (result.ok) {\r\n if (result.data?.ErrorMessage == \"\") {\r\n localStorage.setItem('CurrentUser', JSON.stringify(result.data));\r\n this.$router.replace(this.$route.query?.redirect as string || '/');\r\n }\r\n else {\r\n localStorage.removeItem('CurrentUser');\r\n this.loginFailed = true;\r\n }\r\n }\r\n else {\r\n localStorage.removeItem('CurrentUser');\r\n this.loginFailed = true;\r\n }\r\n this.loadingData = false;\r\n }\r\n }\r\n\r\n /*Validation*/\r\n requiredField = [\r\n (value: string) => !!value || 'Required'\r\n ];\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=85fd4a70\"\nimport script from \"./Login.vue?vue&type=script&lang=ts\"\nexport * from \"./Login.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',{staticClass:\"home-admin-container\",attrs:{\"fluid\":\"\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"paragraph\"}}):_c('v-row',{staticClass:\"pa-0 ma-0\"},[(_vm.showError)?_c('v-alert',{staticClass:\"mt-5\",staticStyle:{\"width\":\"100%\"},attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"warning\",\"elevation\":\"2\"}},[_vm._v(\" Error: Could not retrieve data for oustanding records. \")]):_vm._e(),(_vm.recordsForApproval.length > 0)?_c('v-row',{staticClass:\"ma-0 pa-0\"},[_c('p',{staticClass:\"font-weight-light pt-0 outstanding-CTA\",staticStyle:{\"width\":\"100%\"}},[_vm._v(\"You have \"+_vm._s(_vm.recordsForApproval.length)+\" Outstanding Continutation Training Record\"+_vm._s(_vm.recordsForApproval.length > 1 ? 's' : '')+\" that require\"+_vm._s(_vm.recordsForApproval.length == 1 ? 's' : '')+\" approval\"+_vm._s(_vm.recordsForApproval.length > 5 ? ' (showing first 5)' : '')+\": \")]),_vm._l(((_vm.recordsForApproval.slice(0,5))),function(record){return _c('v-row',{staticClass:\"ml-0 mr-0\",attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"md\":\"12\",\"align\":\"left\"}},[_c('v-alert',{staticClass:\"clickable mb-0\",attrs:{\"border\":\"left\",\"colored-border\":\"\",\"type\":\"info\",\"elevation\":\"2\"},on:{\"click\":function($event){return _vm.openCTA(record.ID)}}},[_vm._v(\" CTA: Completed: \"),_c('b',[_vm._v(_vm._s(new Date(record.Completed).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})))]),_vm._v(\", Location: \"),_c('b',[_vm._v(_vm._s(record.Location))]),_vm._v(\", Team: \"),_c('b',[_vm._v(_vm._s(record.Team))]),_vm._v(\". Click here to navigate to the Training Record \")])],1)],1)})],2):_vm._e()],1),_c('v-row',{attrs:{\"justify\":\"center\"}},_vm._l((_vm.pages),function(page){return (_vm.checkPermission(page.permission))?_c('v-col',{key:page.text,attrs:{\"md\":\"4\",\"align\":\"center\"}},[_c('v-badge',{attrs:{\"color\":\"success\",\"content\":page.outstandingItems,\"value\":page.outstandingItems,\"overlap\":\"\"}},[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function({ hover }){return [_c('v-card',{staticClass:\"mx-auto d-flex flex-column home-card ma-3\",attrs:{\"to\":page.location,\"color\":hover ? 'hover' : 'primary',\"align\":\"left\"}},[_c('v-card-title',{attrs:{\"primary-title\":\"\"}},[_c('v-row',{staticClass:\"pa-2\"},[_c('v-col',{staticClass:\"pa-0 left-icon\"},[_c('v-icon',{attrs:{\"large\":\"\",\"left\":\"\"}},[_vm._v(_vm._s(page.icon))])],1),_c('v-col',{staticClass:\"pa-0 right-title\"},[_c('div',{staticClass:\"text-h6 pa-0 pt-1 font-weight-bold d-none d-sm-flex\"},[_vm._v(_vm._s(page.text))]),_c('div',{staticClass:\"text-h6 pa-0 pt-1 font-weight-bold hidden-sm-and-up\"},[_vm._v(_vm._s(page.shortText))])])],1)],1),_c('v-card-text',{staticClass:\"text-p\"},[_vm._v(\" \"+_vm._s(page.description)+\" \")]),_c('v-card-actions',{staticClass:\"mt-auto\"},[_c('v-list-item',{staticClass:\"grow\"},[_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-icon',{staticClass:\"mr-1 navigate-arrow\"},[_vm._v(\" mdi-arrow-right \")])],1)],1)],1)],1)]}}],null,true)})],1)],1):_vm._e()}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Component, Prop } from 'vue-property-decorator'\r\n import router from '../router/index'\r\n import api from '../utils/api';\r\n import CurrentUser from '../utils/CurrentUser'\r\n import { TrainingRecordsForApprovalVM } from '../viewmodels/TrainingRecordVM';\r\n\r\n @Component({\r\n name: 'Home'\r\n })\r\n export default class Home extends Vue {\r\n loadingData: boolean = false;\r\n showError: boolean = false;\r\n\r\n recordsForApproval: TrainingRecordsForApprovalVM[] = [];\r\n\r\n pages = [\r\n { text: 'Continuation Training Records', shortText: 'Continuation Training Records', icon: 'mdi-clipboard-edit', description: 'View, edit and submit/approve existing Continuation Training Records, or create a new Record.', outstandingItems: this.recordsForApproval.length, location: '/TrainingRecords', permission: 'ViewTrainingRecords' },\r\n { text: 'Training Aid Placement Records', shortText: 'TAP Records', icon: 'mdi-clipboard-edit-outline', description: 'View, edit or create new Training Aid Placement Records.', outstandingItems: '', location: '/TAPRecords', permission: 'ViewTrainingRecords' },\r\n { text: 'Dog Profiles', shortText: 'Dog Profiles', icon: 'mdi-dog-side', description: 'View, edit, or create new Dog Profiles.', outstandingItems: '', location: '/DogProfiles', permission: '' },\r\n { text: 'Handler Profiles', shortText: 'Handler Profiles', icon: 'mdi-account-group', description: 'View and edit Handler Profiles.', outstandingItems: '', location: '/HandlerProfiles', permission: 'ViewHandlers' },\r\n { text: 'Admin', shortText: 'Admin', icon: 'mdi-cogs', description: 'Manage site admin - view or edit dropdowns/locations/users/teams or run reports.', outstandingItems: '', location: '/Admin', permission: 'ViewAdmin' }\r\n ];\r\n\r\n openCTA(id: number) {\r\n router.push('/TrainingRecordDetails/' + id);\r\n }\r\n\r\n checkPermission(permission: string) {\r\n return CurrentUser.hasPermission(permission);\r\n }\r\n\r\n async created() {\r\n this.loadingData = true;\r\n // Get records for approval\r\n let recordForApprovalResponse = await api.get('Training/RecordsForApproval?accessToken=' + CurrentUser.currentUserToken());\r\n\r\n if (recordForApprovalResponse.ok) {\r\n this.recordsForApproval = recordForApprovalResponse.data!;\r\n let trainingRecordPage = this.pages.find(p => p.location == '/TrainingRecords');\r\n trainingRecordPage!.outstandingItems = this.recordsForApproval.length;\r\n }\r\n else {\r\n this.showError = true;\r\n }\r\n\r\n this.loadingData = false;\r\n\r\n if (CurrentUser.firstLogin()) {\r\n (this.$root.$children[0] as any).changePasswordDialog = true;\r\n // Reset firstLogin to prevent this popup constantly appearing if the user does not change password\r\n CurrentUser.resetLogin();\r\n } \r\n }\r\n }\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=6efbf178\"\nimport script from \"./Home.vue?vue&type=script&lang=ts\"\nexport * from \"./Home.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=6efbf178&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('span',{staticClass:\"text-h6 font-weight-light\"},[_vm._v(\" Manage Dropdowns \")])]),_c('v-divider',{staticClass:\"mb-10 mt-5\"}),(!_vm.showError)?_c('v-container',{staticClass:\"ma-0 pa-0\"},[_c('v-card',{staticClass:\"mb-10 pa-5\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{staticClass:\"no-padding-input\",attrs:{\"label\":\"Category\",\"outlined\":\"\",\"clearable\":\"\",\"items\":_vm.OptionCategories,\"item-text\":\"name\",\"item-value\":\"value\"},on:{\"change\":_vm.updateOptionCategory},model:{value:(_vm.category),callback:function ($$v) {_vm.category=$$v},expression:\"category\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{staticClass:\"no-padding-input\",attrs:{\"label\":\"Field\",\"outlined\":\"\",\"clearable\":\"\",\"items\":_vm.OptionTypes,\"disabled\":!_vm.category},on:{\"change\":_vm.updateOptionType},scopedSlots:_vm._u([{key:\"selection\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.item.replace(/([A-Z])/g, ' $1').trim())+\" \")]}},{key:\"item\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.item.replace(/([A-Z])/g, ' $1').trim())+\" \")]}}],null,false,2715616828),model:{value:(_vm.optionType),callback:function ($$v) {_vm.optionType=$$v},expression:\"optionType\"}})],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-data-table',{staticClass:\"elevation-2 pa3\",attrs:{\"headers\":_vm.headers,\"items\":_vm.OptionsFiltered,\"item-class\":_vm.getRowClass,\"mobile-breakpoint\":500,\"loading\":_vm.loadingData,\"loading-text\":\"Loading... Please Wait\"},on:{\"click:row\":_vm.editOption},scopedSlots:_vm._u([{key:\"header.IsDeleted\",fn:function({ header }){return [(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"button\"}}):_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.addNewOption}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-pencil\")]),_vm._v(\" ADD \")],1)]}},{key:\"item.OptionType\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(item.OptionType.replace(/([A-Z])/g, ' $1').trim())+\" \")]}},{key:\"item.IsDeleted\",fn:function({ item }){return [(item.IsDeleted)?_c('v-chip',{attrs:{\"color\":\"red\",\"text-color\":\"white\",\"size\":\"small\"}},[_vm._v(\"Archived\")]):_vm._e()]}}],null,false,3020255910)})],1)],1)],1):_c('v-alert',{staticClass:\"mt-5\",attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"warning\",\"elevation\":\"2\"}},[_vm._v(\" Error: Could not retrieve data for Dropdown Options. \")]),_c('v-dialog',{attrs:{\"max-width\":\"400\",\"persistent\":\"\"},model:{value:(_vm.editOptionDialog),callback:function ($$v) {_vm.editOptionDialog=$$v},expression:\"editOptionDialog\"}},[_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-card',{attrs:{\"prepend-icon\":\"mdi-update\"}},[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.selectedOption.ID != 0 ? 'Edit' : 'Add')+\" Option \")]),_c('v-card-text',[_c('v-select',{staticClass:\"no-padding-input\",attrs:{\"label\":\"Field\",\"items\":_vm.OptionTypes,\"outlined\":\"\",\"disabled\":_vm.selectedOption.ID != 0,\"rules\":_vm.requiredField},scopedSlots:_vm._u([{key:\"selection\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.item.replace(/([A-Z])/g, ' $1').trim())+\" \")]}},{key:\"item\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.item.replace(/([A-Z])/g, ' $1').trim())+\" \")]}}]),model:{value:(_vm.selectedOption.OptionType),callback:function ($$v) {_vm.$set(_vm.selectedOption, \"OptionType\", $$v)},expression:\"selectedOption.OptionType\"}}),_c('v-text-field',{staticClass:\"mt-5\",attrs:{\"label\":\"Display Text\",\"color\":\"primary\",\"outlined\":\"\",\"rules\":_vm.requiredField},model:{value:(_vm.selectedOption.DisplayName),callback:function ($$v) {_vm.$set(_vm.selectedOption, \"DisplayName\", $$v)},expression:\"selectedOption.DisplayName\"}})],1),_c('v-card-actions',[_c('v-btn',{staticClass:\"white--text\",attrs:{\"color\":\"red\",\"disabled\":_vm.savingData || _vm.selectedOption.ID == 0,\"loading\":_vm.savingData},on:{\"click\":_vm.archiveRestoreDropdown}},[_vm._v(\" \"+_vm._s(_vm.selectedOption.IsDeleted ? 'Restore' : 'Archive')+\" \")]),_c('v-btn',{staticClass:\"ms-auto\",attrs:{\"color\":\"primary\",\"outlined\":\"\"},on:{\"click\":function($event){_vm.editOptionDialog = false}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.savingData,\"loading\":_vm.savingData},on:{\"click\":_vm.updateOption}},[_vm._v(\" Save \")])],1)],1)],1)],1),_c('v-snackbar',{attrs:{\"color\":\"success\",\"timeout\":\"3000\",\"elevation\":\"24\"},model:{value:(_vm.showSaveSuccess),callback:function ($$v) {_vm.showSaveSuccess=$$v},expression:\"showSaveSuccess\"}},[_vm._v(\" Option saved successfully \")]),_c('v-snackbar',{attrs:{\"color\":\"red\",\"timeout\":\"3000\",\"elevation\":\"24\"},model:{value:(_vm.showErrorMessage),callback:function ($$v) {_vm.showErrorMessage=$$v},expression:\"showErrorMessage\"}},[_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Component, Prop } from 'vue-property-decorator'\r\n import Option from '../../models/Option'\r\n import api from '../../utils/api'\r\n import CurrentUser from '../../utils/CurrentUser';\r\n\r\n @Component({\r\n name: 'ManageDropdowns'\r\n })\r\n export default class ManageDropdowns extends Vue {\r\n loadingData: boolean = false;\r\n showError: boolean = false;\r\n showErrorMessage: boolean = false;\r\n errorText: string = 'An error occurred';\r\n showSaveSuccess: boolean = false;\r\n savingData: boolean = false;\r\n valid: boolean = true;\r\n editOptionDialog: boolean = false;\r\n selectedOption: Option = { ID: 0, DisplayName: '', OptionCategory: '', OptionType: '', Symbol: '', SortOrder: 10, IsDeleted: false };\r\n category: string = '';\r\n OptionCategories: any[] = [{ name: 'Training Record', value: 'TrainingRecord' }, { name: 'Substance', value: 'Substance' }];\r\n\r\n Options: Option[] = [];\r\n OptionsFiltered: Option[] = [];\r\n OptionTypes: string[] = [];\r\n optionType: string = \"\";\r\n\r\n headers = [\r\n { text: 'Field Name', value: 'OptionType', sortable: false },\r\n { text: 'Display Name', value: 'DisplayName', sortable: false },\r\n { text: 'Status', value: 'IsDeleted', sortable: false, width: '15%' },\r\n ];\r\n\r\n async created() {\r\n await this.loadOptions();\r\n }\r\n\r\n async loadOptions() {\r\n this.loadingData = true;\r\n let optionTypesResponse = await api.get('Admin/GetCustomisableOptions?accessToken=' + CurrentUser.currentUserToken());\r\n\r\n if (optionTypesResponse.ok) {\r\n var data = optionTypesResponse.data!\r\n this.Options = data;\r\n this.OptionsFiltered = data;\r\n\r\n this.OptionTypes = [...new Set(data.map(i => i.OptionType))];\r\n }\r\n else {\r\n this.showError = true;\r\n }\r\n\r\n this.loadingData = false;\r\n }\r\n\r\n updateOptionCategory(category: string) {\r\n this.OptionTypes = [...new Set(this.Options.filter(o => o.OptionCategory === category).map(i => i.OptionType))];\r\n\r\n this.OptionsFiltered = category ? this.Options.filter(o => o.OptionCategory === category) : this.Options;\r\n }\r\n\r\n updateOptionType(type: string) {\r\n this.OptionsFiltered = type ? this.Options.filter(o => o.OptionType === type) : (this.category ? this.Options.filter(o => o.OptionCategory === this.category) : this.Options);\r\n }\r\n\r\n editOption(selectedOption: Option) {\r\n this.selectedOption = selectedOption;\r\n this.editOptionDialog = true;\r\n }\r\n\r\n addNewOption() {\r\n this.selectedOption = { ID: 0, DisplayName: '', OptionCategory: '', OptionType: '', Symbol: '', SortOrder: 10, IsDeleted: false };\r\n this.editOptionDialog = true;\r\n }\r\n\r\n async updateOption() {\r\n (this.$refs!.form! as any).validate();\r\n\r\n if (this.valid) {\r\n this.savingData = true;\r\n let optionTypesResponse = await api.post