{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/TrainingRecords.vue?b630","webpack:///./src/views/TrainingRecordDetails.vue?16c0","webpack:///./src/assets/RFA-Logo.png","webpack:///./src/views/TAPRecordDetails.vue?18fb","webpack:///./src/views/Home.vue?1e22","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/utils/Rules.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?0531"],"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","_v","model","changePasswordDialog","callback","expression","ref","showOldPassword","currentPassword","showNewPassword","newPassword","savingData","changePassword","showSaveSuccess","$$v","showErrorMessage","render","hasPermission","permission","currentUser","localStorage","getItem","userRole","JSON","parse","UserRole","userPermissions","Permissions","includes","currentUserRole","this","currentUserToken","UserToken","currentUserID","UserID","firstLogin","_this$currentUser$Fir","_this$currentUser","FirstLogin","resetLogin","setItem","stringify","loadingData","DogProfile","$set","scopedSlots","DogHandlers","Rules","Neutered","IsDeleted","editMode","confirmArchiveRestoreModal","fn","dateStyle","item","ID","confirmDeleteFile","addFile","lastAddedFiles","confirmDeleteFileModal","staticRenderFns","DogUploadDTO","constructor","Dog","Name","Breed","Colour","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","requiredField","requiredFieldWithId","numericField","test","requiredNumericField","requiredFieldObj","v","Boolean","keys","teamRequiredField","Handler","emailRules","pattern","DogProfileDetails","Vue","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","index","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","HandlerProfile","HandlerDogs","saveHandlerProfile","HandlerProfileDetails","newHandlerProfile","dogItems","FirstName","Surname","SIANumber","UserRoles","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","slot","_vm$TrainingRecord$Do","_vm$TrainingRecord$Do2","_vm$TrainingRecord$Do4","TrainingRecord","DogHandlerTeam","_vm$TrainingRecord$Do5","_vm$TrainingRecord$Do6","_vm$TrainingRecord$Do7","_vm$TrainingRecord$Do8","_vm$TrainingRecord$Do10","_vm$TrainingRecord$Do12","_vm$TrainingRecord$Do13","_vm$TrainingRecord$Do14","_vm$TrainingRecord$Do15","_vm$TrainingRecord$Do16","TrainingTypes","date","dateDialog","time","timeModal","_e","Temperature","setupPositiveBlankChanged","SetupKnownBlind","AtHeight","image","removeSubstanceDetection","addNewSubstanceDetection","submittingTrainerSig","undoTrainerSig","submittingHandlerSig","undoHandlerSig","HandlerApproved","saveTrainingRecord","submitTrainingRecord","ModifiedBy","substanceDetectionLastAddedFiles","confirmDeleteModal","confirmRemoveSubstanceDetection","confirmLeaveModal","rawName","splitDate","inDate","getTime","getTimezoneOffset","toISOString","join","createDateTime","inTime","splitTimeMinutes","totalMinutes","hours","minutes","convertToMinutes","TrainingRecordDetails","saveSubmitCancel","activePicker","dateModal","durationError","showSignatureRequired","duration","Hours","Minutes","weatherItems","selectedSubstanceDetectionFiles","Completed","Location","Type","Task","Trainer","Weather","Goal","TrainerObservation","HandlerComment","TrainerApproved","TrainerSignatureUploaded","HandlerSignatureUploaded","SubstanceDetections","DevelopmentNeeds","DurationMinutes","Indication","Modified","TrainingLocations","TrainingTasks","TrainingIndications","SubstanceDetectionTypes","SubstancePackaging","WeatherConditions","AccreditationCompletion","trainerSignature","handlerSignature","substanceDetectionToRemove","DogHandlerTeams","setFieldValidation","submitting","Exit","next","trainingRecordDetailResponse","_this$TrainingRecord$","responseData","LocationOptions","TrainingTypeOptions","TrainingTaskOptions","TrainingIndicationOptions","SubstanceOptions","SubstanceTypeOptions","SubstancePackagingOptions","WeatherOptions","TrainingMinutesSinceAccreditation","DateTimeUtil","trainerSignatureResponse","getFile","URL","createObjectURL","handlerSignatureResponse","OriginalTrainingRecord","durationInputOnFocus","$","addClass","durationInputOnUnfocus","removeClass","updateTrainingRecordIDs","returnedTrainingRecord","resetValidation","self","async","trainingRecordUploadResponse","addDeleteSubstanceDetectionFiles","uploadSignature","_trainingRecordUpload","scrollToInvalidField","durationValidation","handlerSignaturePad","isEmpty","saveSignature","trainerSignaturePad","SetupPositiveBlank","SetupVisualHidden","Substance","Amount","Packaging","HideLocation","signatureType","signatureUploadResponse","FileBase64string","TrainingRecordID","FileName","newSubstanceDetection","Observations","SetupOnOffLead","undoSignature","decodeHtml","html","txt","innerHTML","_trainingRecordUpload2","addSubstanceDetectionFileClick","substanceDetectionFiles","SubstanceDetectionDocumentUpload","input","addSubstanceDetectionFile","isTrainer","isHandler","detectResizeForWeatherSelect","weatherMultiSelect","setActiveClass","toggleClass","beforeRouteLeave","to","from","originalCompleted","durationMinutes","TAPRecords","PagedTAPRecords","val","timeDialog","TAPRecord","CompetentPerson","_g","archiveRestoreRecord","TAPRecordDetails","Comments","TAPRecordDetailResponse","_this$TAPRecord$DogHa","TAPRecordUploadResponse","_TAPRecordUploadRespo","_TAPRecordUploadRespo2","hover","_s","style","Admin","pages","colour","margin","icon","description","location","submit","password","rememberMe","Login","username","loginFailed","created","Username","Password","RememberMe","_result$data","_this$$route$query","ErrorMessage","AccessToken","replace","$route","query","redirect","_l","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","assign","addNewOption","returnedOption","_optionTypesResponse$","archiveRestoreDropdown","FilteredDogHandlerTeams","addTeamDialog","selectedTeam","AccreditationDate","accreditationDateModal","accreditationDateDialog","cancel","confirmArchiveTeamModal","ManageTeams","Dogs","FilteredDog","FilteredHandler","dogHandlerTeamsResponse","filterTeams","dht","addNewTeam","viewEditTeam","addTeamResponse","returnedTeam","u","_addTeamResponse$erro","confirmArchiveTeam","team","archiveTeamResponse","_archiveTeamResponse$","locations","addEditLocationDialog","addUpdateLocation","ManageLocations","selectedLocation","Address","Code","Description","Postcode","locationResponse","addNewLocation","editLocation","updateLocationResponse","returnedLocation","_updateLocationRespon","archiveRestoreLocation","addEditUserDialog","selectedUser","userRoles","archiveRestoreUser","UserProfiles","userProfiles","userProfilesFiltered","userProfileResponse","Users","filterUserProfiles","viewEditUserProfile","createNewUserProfile","userUploadResponse","returnedUser","_userUploadResponse$e","addUpdateUser","reportType","fromDate","fromDateModal","toDate","toDateModal","runningReport","Reports","ReportType","filters","DateFrom","DateTo","Team","generateReportResponse","downloadPdf","now","ForgotPassword","resetFailed","resetSucceeded","use","VueRouter","routes","path","props","route","parseInt","params","ManageUsers","meta","hideNavbar","base","scrollBehavior","savedPosition","x","beforeEach","fullPath","baseUrl","process","INVALID_USER_TOKEN","vm","init","options","retry","accessToken","reqHeaders","Headers","set","fetch","status","currentRoute","user","userToken","refreshResponse","method","body","newAccessToken","retriedResult","fetchWithRedirect","Response","parsedData","arrayBuffer","Blob","statusText","json","formData","FormData","append","fileID","downloadFileResponse","App","drawer","navigate","logout","cpForm","changePasswordResponse","CurrentPassword","NewPassword","userAndRole","Vuetify","defaults","VBtn","color","rounded","size","theme","themes","light","primary","primarytext","headertext","secondary","bground","footer","submitted","restore","config","productionTip","vueSignature","vuetify","$mount"],"mappings":"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","file":"js/app.81546b54.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\":\"4c5de45c\"}[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!./TrainingRecords.vue?vue&type=style&index=0&id=7973accd&prod&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!./TrainingRecordDetails.vue?vue&type=style&index=0&id=2f56d212&prod&scoped=true&lang=css\"","module.exports = __webpack_public_path__ + \"img/RFA-Logo.6bd697cf.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!./TAPRecordDetails.vue?vue&type=style&index=0&id=243f95f3&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!./Home.vue?vue&type=style&index=0&id=6a0f8b24&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\":\"primarytext\",\"medium\":\"\"}},[_vm._v(\"mdi-account-circle\")]),_c('span',{staticClass:\"v-list-item__title primarytext--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 primarytext--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\":\"primarytext\"}},[_vm._v(\"mdi-home\")])],1),_c('v-list-item-title',{staticClass:\"primarytext--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\":\"primarytext\"}},[_vm._v(\"mdi-clipboard-edit\")])],1),_c('v-list-item-title',{staticClass:\"primarytext--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\":\"primarytext\"}},[_vm._v(\"mdi-clipboard-edit-outline\")])],1),_c('v-list-item-title',{staticClass:\"primarytext--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\":\"primarytext\"}},[_vm._v(\"mdi-dog-side\")])],1),_c('v-list-item-title',{staticClass:\"primarytext--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\":\"primarytext\"}},[_vm._v(\"mdi-account-group\")])],1),_c('v-list-item-title',{staticClass:\"primarytext--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\":\"primarytext\"}},[_vm._v(\"mdi-cogs\")])],1),_c('v-list-item-title',{staticClass:\"primarytext--text\"},[_vm._v(\"Admin\")])],1):_vm._e()],1),_c('v-list',{attrs:{\"nav\":\"\",\"dense\":\"\"}},[_c('v-divider'),_c('v-subheader',{staticClass:\"primarytext--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\":\"primarytext\"}},[_vm._v(\"mdi-form-textbox-password\")])],1),_c('v-list-item-title',{staticClass:\"primarytext--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\":\"primarytext\"}},[_vm._v(\"mdi-open-in-new\")])],1),_c('v-list-item-title',{staticClass:\"primarytext--text\"},[_vm._v(\"Logout\")])],1)],1)],1)],1):_vm._e(),(!_vm.$route.meta.hideNavbar)?_c('v-app-bar',{staticClass:\"gradient-header\",attrs:{\"app\":\"\",\"height\":\"70\",\"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:\"headertext--text header-title d-none d-sm-inline\"},[_vm._v(\" RFA Training And Instruction Log \")]),_c('span',{staticClass:\"headertext--text header-title hidden-sm-and-up\"},[_vm._v(\" RFA T.A.I.L. \")])]),_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\":\"primarytext\"}},[_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.Rules.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.Rules.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 ?? false;\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 page-title\"},[_vm._v(\" New Dog Profile \")]):_vm._e(),(!_vm.loadingData && !_vm.newDogProfile)?_c('span',{staticClass:\"text-h6 font-weight-light pt-3 page-title\"},[_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.Rules.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-dog-side\"},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\":\"\",\"prepend-inner-icon\":\"mdi-account-group\"},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.Rules.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-barcode\"},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.Rules.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-paw\"},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.Rules.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-palette\"},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 mb-8\",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?userToken=' + 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?userToken=' + 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?userToken=' + 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?userToken=' + 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}","import Dog from \"../models/Dog\";\r\nimport DogHandlerTeam from \"../models/DogHandlerTeam\";\r\nimport User from \"../models/User\";\r\n\r\nexport const Rules = {\r\n requiredField: [\r\n (value: string) => !!value || 'Required'\r\n ],\r\n\r\n requiredFieldWithId: [\r\n (value: Dog | User) => (!value || value.ID != 0) || 'Required'\r\n ],\r\n\r\n numericField: [\r\n (value: string) => (!value || /^-?\\d+$/.test(value)) || 'Number required'\r\n ],\r\n\r\n requiredNumericField: [\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 && (value.Dog.Name != \"\" || value.Handler.FullName != \"\")) || 'Required'\r\n ],\r\n\r\n emailRules: [\r\n (value: string) => (!!value) || 'Required',\r\n (value: string) => {\r\n const pattern = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n return pattern.test(value) || 'Invalid e-mail format'\r\n }\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\n import MultiSelectUtil from '../utils/MultiSelectUtil';\r\n import { Rules } from '../utils/Rules';\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 Rules: object = Rules;\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 + '&userToken=' + 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?userToken=' + 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?userToken=' + 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 = \"Error: Could not download file\";\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 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=e1f6225a\"\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 page-title\"},[_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?userToken=' + 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=5fe60df7\"\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 page-title\"},[_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?userToken=' + 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=d82492a0\"\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 page-title\"},[_vm._v(\" New Handler Profile \")]):_vm._e(),(!_vm.loadingData && !_vm.newHandlerProfile)?_c('span',{staticClass:\"text-h6 font-weight-light pt-3 page-title\"},[_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.Rules.requiredField,\"prepend-inner-icon\":\"mdi-account-box-outline\"},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.Rules.requiredField,\"prepend-inner-icon\":\"mdi-account-box\"},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\":\"\",\"prepend-inner-icon\":\"mdi-dog-side\"},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.Rules.requiredField,\"prepend-inner-icon\":\"mdi-at\"},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.Rules.requiredField,\"prepend-inner-icon\":\"mdi-counter\"},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.Rules.requiredField,\"prepend-inner-icon\":\"mdi-badge-account-horizontal\"},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 MultiSelectUtil from '../utils/MultiSelectUtil';\r\n import { Rules } from '../utils/Rules';\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 Rules: object = Rules;\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 async created() {\r\n this.loadingData = true;\r\n let handlerDetailResponse = await api.get('User/HandlerDetail?id=' + this.id + '&userToken=' + 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?userToken=' + 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?userToken=' + 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 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=467a685a\"\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 page-title\"},[_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(item.Completed ? 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,907074289)})],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?userToken=' + 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?userToken=' + 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=7973accd\"\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=7973accd&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 page-title\"},[_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',{staticClass:\"two-third-col pb-0\",attrs:{\"md\":\"6\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-autocomplete',{attrs:{\"label\":\"Select Team\",\"outlined\":\"\",\"item-text\":item => item ? (item.Dog.Name +' - '+ item.Handler.FullName) : '',\"items\":_vm.DogHandlerTeams,\"return-object\":\"\",\"rules\":_vm.Rules.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),(!_vm.loadingData && _vm.AccreditationCompletion)?_c('v-col',{staticStyle:{\"max-width\":\"250px\",\"min-width\":\"250px\"},attrs:{\"md\":\"2\",\"align\":\"center\"}},[_c('div',{staticClass:\"text-center\"},[_c('span',{staticClass:\"font-weight-light text-caption\"},[_vm._v(\"Training Hours since last accreditation\")]),_c('v-progress-linear',{attrs:{\"value\":_vm.AccreditationCompletion,\"color\":\"primary\",\"height\":\"25\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ value }){return [_c('strong',[_vm._v(_vm._s(Math.ceil(value)))])]}}],null,false,2310840873)})],1)]):_vm._e()],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\":\"\",\"prepend-inner-icon\":\"mdi-account\"},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\":\"\",\"prepend-inner-icon\":\"mdi-at\"},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\":\"\",\"prepend-inner-icon\":\"mdi-counter\"},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\":\"\",\"prepend-inner-icon\":\"mdi-dog-side\"},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\":\"\",\"prepend-inner-icon\":\"mdi-paw\"},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\":\"\",\"prepend-inner-icon\":\"mdi-palette\"},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\":\"\",\"prepend-inner-icon\":\"mdi-barcode\"},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:\"third-col\",attrs:{\"md\":\"2.4\"}},[(_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:\"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 duration-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.setActiveClass}},[_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 duration-input 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\",attrs:{\"color\":\"primary\",\"dense\":\"\",\"outlined\":\"\",\"readonly\":\"\",\"disabled\":!_vm.editMode,\"hideDetails\":true},on:{\"focus\":_vm.durationInputOnFocus,\"blur\":_vm.durationInputOnUnfocus},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,1721714619)},[_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}}},[_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},on:{\"focus\":_vm.durationInputOnFocus,\"blur\":_vm.durationInputOnUnfocus},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,1250694709)},[_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}}},[_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:\"third-col\",staticStyle:{\"max-width\":\"399px\"}},[(_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:\"quarter-col\",staticStyle:{\"max-width\":\"399px\"},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',\"value\":_vm.TrainingRecord.Temperature,\"justify\":\"end\",\"rules\":_vm.numericField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-thermometer\"},on:{\"input\":function($event){_vm.TrainingRecord.Temperature = $event !== '' ? $event : null}}})],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),_c('v-col',{staticClass:\"third-col\",attrs:{\"md\":\"2.4\"}},[(_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),_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},model:{value:(_vm.TrainingRecord.Goal),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"Goal\", $$v)},expression:\"TrainingRecord.Goal\"}})],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(\"Searches:\")])])],1),(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"paragraph\"}}):_vm._l((_vm.TrainingRecord.SubstanceDetections),function(substanceDetection){return _c('v-card',{key:_vm.TrainingRecord.SubstanceDetections.indexOf(substanceDetection),staticClass:\"pa-5 mb-5 subtance-detection\",attrs:{\"outlined\":\"\"}},[_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"12\"}},[_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\"}},[_c('v-radio-group',{staticClass:\"radio\",attrs:{\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},on:{\"change\":function($event){return _vm.setupPositiveBlankChanged(substanceDetection)}},model:{value:(substanceDetection.SetupPositiveBlank),callback:function ($$v) {_vm.$set(substanceDetection, \"SetupPositiveBlank\", $$v)},expression:\"substanceDetection.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\",\"align\":\"right\"}},[_c('v-radio-group',{staticClass:\"radio\",attrs:{\"rules\":_vm.requiredField,\"disabled\":!_vm.editMode},model:{value:(substanceDetection.SetupKnownBlind),callback:function ($$v) {_vm.$set(substanceDetection, \"SetupKnownBlind\", $$v)},expression:\"substanceDetection.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:(substanceDetection.SetupOnOffLead),callback:function ($$v) {_vm.$set(substanceDetection, \"SetupOnOffLead\", $$v)},expression:\"substanceDetection.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),_c('v-col',{staticClass:\"eighth-col\",attrs:{\"md\":\"3\"}},[_c('v-radio-group',{staticClass:\"radio\",attrs:{\"rules\":substanceDetection.SetupPositiveBlank != 'Blank' ? _vm.requiredField : [],\"disabled\":!_vm.editMode || substanceDetection.SetupPositiveBlank == 'Blank'},model:{value:(substanceDetection.SetupVisualHidden),callback:function ($$v) {_vm.$set(substanceDetection, \"SetupVisualHidden\", $$v)},expression:\"substanceDetection.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)],1)],1)],1),_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\":substanceDetection.SetupPositiveBlank != 'Blank' ? _vm.requiredField : [],\"disabled\":!_vm.editMode || substanceDetection.SetupPositiveBlank == 'Blank',\"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\",\"value\":substanceDetection.Amount,\"rules\":substanceDetection.SetupPositiveBlank != 'Blank' ? _vm.numericField : [],\"disabled\":!_vm.editMode || substanceDetection.SetupPositiveBlank == 'Blank',\"prepend-inner-icon\":\"mdi-scale\"},on:{\"input\":function($event){substanceDetection.Amount = $event !== '' ? $event : null}}})],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\":substanceDetection.SetupPositiveBlank != 'Blank' ? _vm.requiredField : [],\"disabled\":!_vm.editMode || substanceDetection.SetupPositiveBlank == 'Blank',\"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\":substanceDetection.SetupPositiveBlank != 'Blank' ? _vm.requiredField : [],\"disabled\":!_vm.editMode || substanceDetection.SetupPositiveBlank == 'Blank',\"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\":\"154px\"},on:{\"click\":function($event){substanceDetection.AtHeight = !substanceDetection.AtHeight}}},[_c('custom-checkbox',{staticStyle:{\"max-width\":\"154px\"},attrs:{\"fieldChecked\":substanceDetection.AtHeight,\"label\":\"At height?\",\"icon\":\"mdi-arrow-expand-up\",\"disabled\":!_vm.editMode || substanceDetection.SetupPositiveBlank == 'Blank'}})],1)],1),_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":\"Hide Location\",\"outlined\":\"\",\"rules\":substanceDetection.SetupPositiveBlank != 'Blank' ? _vm.requiredField : [],\"disabled\":!_vm.editMode || substanceDetection.SetupPositiveBlank == 'Blank',\"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 Search \")])],1)],1)}),_c('v-row',{attrs:{\"justify\":\"space-between\"}},[_c('v-col',{attrs:{\"md\":\"12\",\"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 Search \")])],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.HandlerComment),callback:function ($$v) {_vm.$set(_vm.TrainingRecord, \"HandlerComment\", $$v)},expression:\"TrainingRecord.HandlerComment\"}})],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.TrainerSignatureUploaded && _vm.isTrainer())?_c('VueSignaturePad',{ref:\"trainerSignaturePad\",attrs:{\"id\":\"TrainerSignature\",\"width\":\"100%\",\"height\":\"100px\"}}):_vm._e(),(!_vm.submittingTrainerSig && _vm.TrainingRecord.TrainerSignatureUploaded)?_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 && _vm.TrainingRecord.Trainer ? ('Submitted by ' + _vm.TrainingRecord.Trainer.FullName + ' on ' + new Date(_vm.TrainingRecord.TrainerApproved).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})) : 'Awaiting Submission')+\" \")])])],1),_c('v-row',{staticClass:\"pa-3\",attrs:{\"justify\":\"space-between\"}},[_c('v-btn',{attrs:{\"color\":\"primary\",\"outlined\":\"\",\"disabled\":_vm.TrainingRecord.TrainerSignatureUploaded || !_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.HandlerSignatureUploaded && _vm.TrainingRecord.TrainerApproved != null && _vm.isHandler())?_c('VueSignaturePad',{ref:\"handlerSignaturePad\",attrs:{\"id\":\"HandlerSignature\",\"width\":\"100%\",\"height\":\"100px\"}}):_vm._e(),(!_vm.submittingHandlerSig && _vm.TrainingRecord.HandlerSignatureUploaded)?_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 ? ('Approved by ' + _vm.TrainingRecord.DogHandlerTeam.Handler.FullName + ' on ' + new Date(_vm.TrainingRecord.HandlerApproved).toLocaleString(\"en-US\", { dateStyle: \"medium\", timeStyle: \"short\"})) : 'Awaiting Approval')+\" \")])])],1),_c('v-row',{staticClass:\"pa-3\",attrs:{\"justify\":\"space-between\"}},[_c('v-btn',{attrs:{\"color\":\"primary\",\"outlined\":\"\",\"disabled\":_vm.TrainingRecord.HandlerSignatureUploaded || _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 ||\n _vm.TrainingRecord.IsDeleted ||\n (_vm.isTrainer() && _vm.TrainingRecord.TrainerApproved != null) ||\n (_vm.isHandler() && (_vm.TrainingRecord.TrainerApproved == null) || (_vm.TrainingRecord.HandlerApproved != null)),\"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 Search? \")]),_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-dialog',{attrs:{\"max-width\":\"500\",\"persistent\":\"\"},model:{value:(_vm.confirmLeaveModal),callback:function ($$v) {_vm.confirmLeaveModal=$$v},expression:\"confirmLeaveModal\"}},[_c('v-card',{attrs:{\"prepend-icon\":\"mdi-update\"}},[_c('v-card-title',[_vm._v(\" Confirm Leave Page \")]),_c('v-card-text',[_vm._v(\" You have unsaved changes. Are you sure you want to leave this page? \")]),_c('v-card-actions',[_c('v-btn',{staticClass:\"ms-auto\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.confirmLeaveModal = false}}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.Exit}},[_vm._v(\" Exit Without Saving \")])],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 import { Rules } from '../utils/Rules';\r\n\r\n @Component({\r\n name: 'TrainingRecord',\r\n beforeRouteLeave(to, from, next) {\r\n const self = this as any;\r\n // Check for unsaved changes\r\n let originalCompleted = self.TrainingRecord.Completed ? DateTimeUtil.splitDate(new Date(self.TrainingRecord.Completed)) : [null, null];\r\n let durationMinutes = DateTimeUtil.convertToMinutes(self.duration.Hours, self.duration.Minutes);\r\n\r\n if (!self.saveSubmitCancel && (self.OriginalTrainingRecord) && (\r\n (JSON.stringify(self.TrainingRecord) !== self.OriginalTrainingRecord) ||\r\n (originalCompleted[0] != self.date || originalCompleted[1] != self.time) ||\r\n (self.TrainingRecord.DurationMinutes != durationMinutes)\r\n )) {\r\n self.next = next;\r\n self.confirmLeaveModal = true;\r\n }\r\n else {\r\n next();\r\n }\r\n }\r\n })\r\n export default class TrainingRecordDetails extends Vue {\r\n @Prop(Number) id!: number;\r\n next: any;\r\n saveSubmitCancel = false;\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 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 confirmLeaveModal: 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 duration = {Hours: 0, Minutes: 0};\r\n weatherItems: number = 0;\r\n Rules: object = Rules;\r\n\r\n teamRequiredField: (Function)[] = [];\r\n numericField: (Function)[] = Rules.numericField;\r\n requiredField: (Function)[] = [];\r\n requiredFieldObj: (Function)[] = [];\r\n\r\n setFieldValidation(submitting: boolean) {\r\n this.teamRequiredField = submitting ? Rules.teamRequiredField : [];\r\n this.numericField = submitting ? Rules.requiredNumericField : Rules.numericField;\r\n this.requiredField = submitting ? Rules.requiredField : [];\r\n this.requiredFieldObj = submitting ? Rules.requiredFieldObj : [];\r\n }\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 TrainingRecord: TrainingRecord = {\r\n ID: 0, Completed: undefined, Location: undefined, Type: undefined, Task: undefined, DogHandlerTeam: undefined,\r\n Trainer: undefined, Temperature: undefined, Weather: [], Goal: '', TrainerObservation: '', HandlerComment: '', TrainerApproved: null, HandlerApproved: null,\r\n TrainerSignatureUploaded: false, HandlerSignatureUploaded: false, IsDeleted: false, SubstanceDetections: [], DevelopmentNeeds: '', Status: '', DurationMinutes: 0,\r\n Indication: undefined, Modified: null, ModifiedBy: null\r\n };\r\n\r\n OriginalTrainingRecord?: string;\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 AccreditationCompletion: number | null = null;\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 Exit() {\r\n this.next();\r\n }\r\n\r\n async created() {\r\n this.loadingData = true;\r\n for (let i = 1; i <= 8; 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 + '&userToken=' + 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 (responseData!.TrainingMinutesSinceAccreditation) this.AccreditationCompletion = responseData!.TrainingMinutesSinceAccreditation / (60);\r\n\r\n if (this.id != 0) {\r\n this.TrainingRecord = responseData!.TrainingRecord;\r\n if (this.TrainingRecord.Completed) {\r\n //DateTime fields\r\n [this.date, this.time] = DateTimeUtil.splitDate(new Date(this.TrainingRecord.Completed!));\r\n }\r\n if (this.TrainingRecord.DurationMinutes) {\r\n //Duration fields\r\n [this.duration.Hours, this.duration.Minutes] = DateTimeUtil.splitTimeMinutes(this.TrainingRecord.DurationMinutes!);\r\n }\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.Trainer || this.TrainingRecord.Trainer.ID == CurrentUser.currentUserID()) && !this.TrainingRecord.TrainerApproved && !this.TrainingRecord.IsDeleted;\r\n\r\n if (this.TrainingRecord.TrainerSignatureUploaded) { \r\n let trainerSignatureResponse = await api.getFile('Training/GetSignature?TrainingRecordID=' + this.id + '&SignatureType=TrainerSignature' + '&userToken=' + 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.HandlerSignatureUploaded) {\r\n let handlerSignatureResponse = await api.getFile('Training/GetSignature?TrainingRecordID=' + this.id + '&SignatureType=HandlerSignature' + '&userToken=' + CurrentUser.currentUserToken());\r\n\r\n if (handlerSignatureResponse.ok) {\r\n this.handlerSignature = URL.createObjectURL(handlerSignatureResponse.data!);\r\n }\r\n else {\r\n // what should happen?\r\n this.showError = true;\r\n }\r\n }\r\n\r\n this.OriginalTrainingRecord = JSON.stringify(this.TrainingRecord);\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 durationInputOnFocus() {\r\n $('.duration-input').addClass('v-input--is-focused');\r\n $('.duration-input').addClass('primary--text');\r\n $('.duration-input .v-icon').addClass('primary--text');\r\n }\r\n\r\n durationInputOnUnfocus() {\r\n $('.duration-input').removeClass('v-input--is-focused');\r\n $('.duration-input').removeClass('primary--text');\r\n $('.duration-input .v-icon').removeClass('primary--text');\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() : Promise {\r\n (this.$refs!.form! as any).resetValidation();\r\n\r\n // For some reason setTimeout is required for the validation to update\r\n let self = this;\r\n setTimeout(async function () {\r\n self.setFieldValidation(false);\r\n\r\n setTimeout(async function () {\r\n\r\n (self.$refs!.form! as any).validate();\r\n\r\n if (self.valid) {\r\n self.savingData = true;\r\n self.TrainingRecord.Completed = (self.date && self.time) ? DateTimeUtil.createDateTime(self.date! as string, self.time!) : undefined;\r\n if (self.TrainingRecord.TrainerApproved) self.TrainingRecord.TrainerApproved = new Date(self.TrainingRecord.TrainerApproved!);\r\n if (self.TrainingRecord.HandlerApproved) self.TrainingRecord.HandlerApproved = new Date(self.TrainingRecord.HandlerApproved!);\r\n self.TrainingRecord.DurationMinutes = DateTimeUtil.convertToMinutes(self.duration.Hours, self.duration.Minutes);\r\n let trainingRecordUploadResponse = await api.post('Training/SaveTrainingRecord?userToken=' + CurrentUser.currentUserToken(), self.TrainingRecord);\r\n\r\n if (trainingRecordUploadResponse.ok) {\r\n self.updateTrainingRecordIDs(trainingRecordUploadResponse.data!);\r\n\r\n // Upload files\r\n self.uploadingFiles = true;\r\n let addDeleteFilesResponse = await FileHelper.addDeleteFiles(self.fileVMs, \"TBL_TrainingRecord\", self.TrainingRecord.ID);\r\n self.fileVMs = addDeleteFilesResponse.returnArray;\r\n\r\n // Upload SD files\r\n let addDeleteSubstanceDetectionFiles = await FileHelper.addDeleteSubstanceDetectionFiles(self.TrainingRecord.SubstanceDetections);\r\n\r\n self.TrainingRecord.SubstanceDetections = addDeleteSubstanceDetectionFiles.returnArray;\r\n\r\n self.uploadingFiles = false;\r\n self.showSaveSuccess = addDeleteFilesResponse.success && addDeleteSubstanceDetectionFiles.success;\r\n\r\n // Save Signatures\r\n self.uploadSignature();\r\n\r\n self.saveSubmitCancel = true;\r\n self.$router.push('/TrainingRecords');\r\n }\r\n else {\r\n self.showErrorMessage = true;\r\n self.errorText = \"Error: \" + (trainingRecordUploadResponse.error ?? \"Could not save Training Record\");\r\n }\r\n\r\n self.savingData = false;\r\n }\r\n else {\r\n self.scrollToInvalidField();\r\n }\r\n });\r\n });\r\n return this.valid;\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) && !(this.duration.Hours == 8 && 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 uploadSignature() {\r\n if (CurrentUser.currentUserRole() == \"Handler\" && this.TrainingRecord.TrainerApproved) {\r\n if ((this.$refs.handlerSignaturePad! as any) && !(this.$refs.handlerSignaturePad! as any).isEmpty()) {\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 }\r\n }\r\n else if (CurrentUser.currentUserRole() == \"Admin\") {\r\n if ((this.$refs.trainerSignaturePad! as any) && !(this.$refs.trainerSignaturePad! as any).isEmpty()) {\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 }\r\n }\r\n }\r\n\r\n async submitTrainingRecord() {\r\n this.setFieldValidation(true); \r\n this.durationValidation();\r\n\r\n let self = this;\r\n\r\n // For some reason setTimeout is required for the validation to update\r\n setTimeout(function () {\r\n (self.$refs!.form! as any).validate();\r\n\r\n if (self.valid && !self.durationError) {\r\n // check for signature\r\n if (CurrentUser.currentUserRole() == \"Handler\") {\r\n if (self.TrainingRecord.TrainerApproved) {\r\n if (!self.TrainingRecord.HandlerSignatureUploaded && (self.$refs.handlerSignaturePad! as any).isEmpty()) {\r\n self.showSignatureRequired = true;\r\n }\r\n else {\r\n // save\r\n self.savingData = true;\r\n\r\n self.TrainingRecord.HandlerApproved = new Date();\r\n self.saveTrainingRecord();\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 if (!self.TrainingRecord.TrainerSignatureUploaded && (self.$refs.trainerSignaturePad! as any).isEmpty()) {\r\n self.showSignatureRequired = true;\r\n }\r\n else {\r\n // save\r\n self.savingData = true;\r\n\r\n self.TrainingRecord.TrainerApproved = new Date();\r\n self.saveTrainingRecord();\r\n }\r\n }\r\n }\r\n else {\r\n self.scrollToInvalidField();\r\n }\r\n });\r\n }\r\n\r\n setupPositiveBlankChanged(e : TrainingSubstanceDetection) {\r\n // reset fields\r\n if (e.SetupPositiveBlank == 'Blank') {\r\n e.SetupVisualHidden = '';\r\n e.Substance = undefined;\r\n e.Amount = undefined;\r\n e.Packaging = undefined;\r\n e.Type = undefined;\r\n e.AtHeight = false;\r\n e.HideLocation = '';\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?userToken=' + 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 SetupKnownBlind: '', SetupOnOffLead: '', SetupPositiveBlank: '',SetupVisualHidden: '', };\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?userToken=' + 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 this.saveSubmitCancel = true;\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 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 = \"Error: Could not download file\";\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 setActiveClass(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=2f56d212&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=2f56d212&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 \"2f56d212\",\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 page-title\"},[_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?userToken=' + 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?userToken=' + 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=6a79c178\"\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 page-title\"},[_vm._v(\" Training Aid Placement 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(),(_vm.TAPRecord.ID != 0)?_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\":\"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 ? item.Dog.Name +' - '+ item.Handler.FullName : '',\"items\":_vm.DogHandlerTeams,\"return-object\":\"\",\"rules\":_vm.Rules.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\"}},[_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',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"half-col\",attrs:{\"md\":\"3\"}},[(_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.Rules.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-map-marker\"},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\":\"3\"}},[(_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.Rules.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}},'v-text-field',attrs,false),on))]}}],null,false,3279288692),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\":\"3\"}},[(_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.Rules.requiredField,\"disabled\":!_vm.editMode},model:{value:(_vm.time),callback:function ($$v) {_vm.time=$$v},expression:\"time\"}},'v-text-field',attrs,false),on))]}}],null,false,592905272),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\":\"3\"}},[(_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.Rules.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-format-list-bulleted\"},model:{value:(_vm.TAPRecord.Task),callback:function ($$v) {_vm.$set(_vm.TAPRecord, \"Task\", $$v)},expression:\"TAPRecord.Task\"}})],1),_c('v-col',{staticClass:\"third-col\",attrs:{\"md\":\"3\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-select',{attrs:{\"label\":\"Substance\",\"outlined\":\"\",\"items\":_vm.Substances,\"item-text\":\"DisplayName\",\"return-object\":\"\",\"rules\":_vm.Rules.requiredField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-alert-box\"},model:{value:(_vm.TAPRecord.Substance),callback:function ($$v) {_vm.$set(_vm.TAPRecord, \"Substance\", $$v)},expression:\"TAPRecord.Substance\"}})],1),_c('v-col',{staticClass:\"quarter-col\",attrs:{\"md\":\"2\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('v-text-field',{staticClass:\"right-align-input-text\",attrs:{\"label\":\"Amount\",\"outlined\":\"\",\"suffix\":\"g\",\"rules\":_vm.Rules.requiredNumericField,\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-scale\"},model:{value:(_vm.TAPRecord.Amount),callback:function ($$v) {_vm.$set(_vm.TAPRecord, \"Amount\", $$v)},expression:\"TAPRecord.Amount\"}})],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\":\"Competent Person\",\"outlined\":\"\",\"disabled\":!_vm.editMode,\"prepend-inner-icon\":\"mdi-account-circle\"},model:{value:(_vm.TAPRecord.CompetentPerson),callback:function ($$v) {_vm.$set(_vm.TAPRecord, \"CompetentPerson\", $$v)},expression:\"TAPRecord.CompetentPerson\"}})],1),_c('v-col',{staticClass:\"half-col mb-5\",staticStyle:{\"max-width\":\"400px\"},attrs:{\"md\":\"3\"}},[(_vm.loadingData)?_c('v-skeleton-loader',{attrs:{\"type\":\"text\"}}):_c('div',{class:`${'v-input duration-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.setActiveClass}},[_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 duration-input 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\",attrs:{\"color\":\"primary\",\"dense\":\"\",\"outlined\":\"\",\"readonly\":\"\",\"disabled\":!_vm.editMode,\"hideDetails\":true},on:{\"focus\":_vm.durationInputOnFocus,\"blur\":_vm.durationInputOnUnfocus},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,1721714619)},[_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}}},[_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},on:{\"focus\":_vm.durationInputOnFocus,\"blur\":_vm.durationInputOnUnfocus},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,1250694709)},[_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}}},[_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)],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 || !_vm.editMode,\"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 import { Rules } from '../utils/Rules';\r\n import $ from \"jquery\";\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 durationError: boolean = false;\r\n duration = { Hours: 0, Minutes: 0 };\r\n hours = [0];\r\n minutes = [0];\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 Rules: object = Rules;\r\n\r\n TAPRecord: TAPRecord = {\r\n ID: 0, Completed: undefined, Location: undefined, Task: undefined, DogHandlerTeam: undefined, Comments: '', IsDeleted: false, DurationMinutes: 0, CompetentPerson:''\r\n };\r\n\r\n TrainingLocations: Location[] = [];\r\n TrainingTasks: Option[] = [];\r\n Substances: Option[] = [];\r\n\r\n DogHandlerTeams: DogHandlerTeam[] = [];\r\n\r\n async created() {\r\n this.loadingData = true;\r\n for (let i = 1; i <= 8; 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 TAPRecordDetailResponse = await api.get('Training/TAPRecordDetail?id=' + this.id + '&userToken=' + 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 this.Substances = responseData!.SubstanceOptions;\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 if (this.TAPRecord.DurationMinutes) {\r\n //Duration fields\r\n [this.duration.Hours, this.duration.Minutes] = DateTimeUtil.splitTimeMinutes(this.TAPRecord.DurationMinutes!);\r\n }\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') && this.TAPRecord.ID == 0;\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 this.durationValidation();\r\n\r\n if (this.valid && !this.durationError) {\r\n this.savingData = true;\r\n this.TAPRecord.Completed = DateTimeUtil.createDateTime(this.date! as string, this.time!);\r\n this.TAPRecord.DurationMinutes = DateTimeUtil.convertToMinutes(this.duration.Hours, this.duration.Minutes);\r\n\r\n let TAPRecordUploadResponse = await api.post('Training/SaveTAPRecord?userToken=' + 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?userToken=' + 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 durationValidation() {\r\n if ((this.duration.Hours != 0 || this.duration.Minutes != 0) && !(this.duration.Hours == 8 && 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 setActiveClass(e: any) {\r\n $(\"#durationInput\").toggleClass('v-input--is-focused');\r\n $(\"#durationInput\").toggleClass('primary--text');\r\n }\r\n\r\n durationInputOnFocus() {\r\n $('.duration-input').addClass('v-input--is-focused');\r\n $('.duration-input').addClass('primary--text');\r\n $('.duration-input .v-icon').addClass('primary--text');\r\n }\r\n\r\n durationInputOnUnfocus() {\r\n $('.duration-input').removeClass('v-input--is-focused');\r\n $('.duration-input').removeClass('primary--text');\r\n $('.duration-input .v-icon').removeClass('primary--text');\r\n }\r\n\r\n goBack() {\r\n router.back();\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=243f95f3&scoped=true\"\nimport script from \"./TAPRecordDetails.vue?vue&type=script&lang=ts\"\nexport * from \"./TAPRecordDetails.vue?vue&type=script&lang=ts\"\nimport style0 from \"./TAPRecordDetails.vue?vue&type=style&index=0&id=243f95f3&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 \"243f95f3\",\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 ? 'rgb(' + page.colour + ',0.5)' : 'rgb(' + page.colour + ')',\"align\":\"left\"}},[_c('v-card-title',{attrs:{\"primary-title\":\"\"}},[_c('v-row',{staticClass:\"pa-2\"},[_c('v-col',{staticClass:\"pa-1 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',{staticStyle:{\"height\":\"100%\"}},[_c('v-row',{staticClass:\"ma-0\",staticStyle:{\"height\":\"100%\"}},[_c('v-col',{staticClass:\"text-p pa-0\",attrs:{\"md\":\"7\"}},[_vm._v(_vm._s(page.description))]),_c('v-col',{staticClass:\"pa-0 d-flex justify-end\",staticStyle:{\"height\":\"100%\"},attrs:{\"align-self\":\"end\",\"md\":\"5\"}},[_c('v-icon',{staticClass:\"d-flex justify-end align-end\",style:({'margin-bottom':`${ page.margin }px`}),attrs:{\"right\":\"\"}},[_vm._v(\" \"+_vm._s(page.icon)+\" \")])],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 { colour: '187, 133, 136', margin: -12, text: 'Manager Users', icon: 'mdi-account-multiple', description: 'View or edit existing users, or add a new user.', location: '/Admin/ManageUsers'},\r\n { colour: '171, 146, 191', margin: -8, 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 { colour: '175, 193, 214', margin: 0, 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 { colour: '129, 166, 132', margin: 0, text: 'Manage Teams', icon: 'mdi-table-account', description: 'View, archive or create new Dog/Handler teams.', location: '/Admin/ManageTeams' },\r\n { colour: '190, 178, 200', margin: 0, 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=6d973eb3\"\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:\"primarytext--text\",attrs:{\"color\":\"header\",\"dark\":\"\",\"flat\":\"\"}},[_c('v-toolbar-title',{staticClass:\"d-none d-sm-inline\"},[_vm._v(\" RFA Training And Instruction Log \")]),_c('v-toolbar-title',{staticClass:\"hidden-sm-and-up\"},[_vm._v(\" RFA T.A.I.L. \")])],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.Rules.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.Rules.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 import { Rules } from '../utils/Rules';\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 Rules: object = Rules;\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 localStorage.setItem('AccessToken', result.data.AccessToken);\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=61d92080\"\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-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):_vm._e(),_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',{staticClass:\"ma-1\",attrs:{\"color\":\"restore\",\"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\",attrs:{\"to\":page.location,\"color\":hover ? 'rgb(' + page.colour + ',0.5)' : 'rgb(' + page.colour + ')',\"align\":\"left\"}},[_c('v-card-title',{attrs:{\"primary-title\":\"\"}},[_c('v-row',{staticClass:\"pa-2\"},[_c('v-col',{staticClass:\"pa-1 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',{staticStyle:{\"height\":\"100%\"}},[_c('v-row',{staticClass:\"ma-0\",staticStyle:{\"height\":\"100%\"}},[_c('v-col',{staticClass:\"text-p pa-0\",attrs:{\"md\":\"7\"}},[_vm._v(_vm._s(page.description))]),_c('v-col',{staticClass:\"pa-0 d-flex justify-end\",staticStyle:{\"height\":\"100%\"},attrs:{\"align-self\":\"end\",\"md\":\"5\"}},[_c('v-icon',{staticClass:\"d-flex justify-end align-end\",style:({'margin-bottom':`${ page.margin }px`}),attrs:{\"right\":\"\"}},[_vm._v(\" \"+_vm._s(page.icon)+\" \")])],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 { colour: '187, 133, 136', margin: 0, text: 'Continuation Training Records', shortText: 'Continuation Training Records', icon: 'mdi-clipboard-edit', description: 'View, edit, submit or approve existing CT Records, or create a new Record.', outstandingItems: this.recordsForApproval.length, location: '/TrainingRecords', permission: 'ViewTrainingRecords' },\r\n { colour: '171, 146, 191', margin: 0, 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 { colour: '175, 193, 214', margin: 0, text: 'Dog Profiles', shortText: 'Dog Profiles', icon: 'mdi-dog-side', description: 'View, edit, or create new Dog Profiles.', outstandingItems: '', location: '/DogProfiles', permission: '' },\r\n { colour: '129, 166, 132', margin: -12, text: 'Handler Profiles', shortText: 'Handler Profiles', icon: 'mdi-account-multiple', description: 'View and edit Handler Profiles.', outstandingItems: '', location: '/HandlerProfiles', permission: 'ViewHandlers' },\r\n { colour: '190, 178, 200', margin: 12, text: 'Admin', shortText: 'Admin', icon: 'mdi-cogs', description: 'Manage site admin - view or edit dropdowns, locations, users and 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?userToken=' + 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=6a0f8b24\"\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=6a0f8b24&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 page-title\"},[_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.filterOptions},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. \")]),(_vm.editOptionDialog)?_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.Rules.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())+\" \")]}}],null,false,2715616828),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.Rules.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):_vm._e(),_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 import { Rules } from '../../utils/Rules';\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 Rules: object = Rules;\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?userToken=' + 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() {\r\n this.optionType = '';\r\n this.OptionTypes = [...new Set(this.Options.filter(o => o.OptionCategory === this.category).map(i => i.OptionType))];\r\n\r\n this.filterOptions();\r\n }\r\n\r\n filterOptions() {\r\n this.OptionsFiltered = this.optionType ? this.Options.filter(o => o.OptionType === this.optionType) : (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 = Object.assign({}, 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