{"version":3,"sources":["webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/file-saver/dist/FileSaver.min.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./src/views/Manage.vue?07e5","webpack:///./src/views/ReportExport.vue?d998","webpack:///./src/views/ReportExport.vue?09b4","webpack:///./src/api/export.ts","webpack:///./src/views/ReportExport.vue","webpack:///./src/views/ReportExport.vue?1168","webpack:///./src/views/ReportExport.vue?ab8b","webpack:///./src/views/ProjectOverview.vue?76df","webpack:///./src/views/ProjectOverview.vue","webpack:///./src/views/ProjectOverview.vue?e6a5","webpack:///./src/views/ProjectOverview.vue?0777","webpack:///./src/utils/shipTypes.ts","webpack:///./src/views/Manage.vue?1306","webpack:///./src/views/Manage.vue","webpack:///./src/views/Manage.vue?d8bd","webpack:///./src/views/Manage.vue?d312"],"names":["toObject","floor","Math","replace","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","module","exports","matched","str","position","captures","namedCaptures","replacement","tailPos","length","m","symbols","undefined","call","match","ch","capture","charAt","slice","n","f","this","b","a","autoBom","console","warn","test","type","Blob","c","d","XMLHttpRequest","open","responseType","onload","g","response","onerror","error","send","status","e","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","window","self","global","navigator","userAgent","saveAs","HTMLAnchorElement","prototype","h","i","URL","webkitURL","j","createElement","name","download","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","msSaveOrOpenBlob","title","body","innerText","HTMLElement","safari","FileReader","k","onloadend","result","readAsDataURL","l","fixRegExpWellKnownSymbolLogic","anObject","toLength","toInteger","requireObjectCoercible","advanceStringIndex","getSubstitution","regExpExec","max","min","maybeToString","it","String","REPLACE","nativeReplace","maybeCallNative","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","O","replacer","regexp","indexOf","res","done","value","rx","S","functionalReplace","fullUnicode","unicode","lastIndex","results","push","matchStr","accumulatedResult","nextSourcePosition","index","groups","replacerArgs","concat","apply","render","_vm","_h","$createElement","_c","_self","staticClass","_m","_v","attrs","ships","model","callback","$$v","shipId","expression","from","to","on","startExport","staticRenderFns","apiBaseUrl","exportData","ship","get","id","size","filename","project","projectData","_genericInit","_setPageName","isClient","isContractor","$store","dispatch","miscTypes","actions","ADD_HEADER_NAV_LINK","label","active","navPath","$router","$dayjs","utc","find","x","TOGGLE_LOADER","format","BaseComponent","components","DateInput","Button","Dropdown","component","directives","rawName","domProps","$event","composing","projectFilterTerm","showAddProjectModal","_e","shownProjects","tSettings","handleTableEvent","ref","newProject","submittedProjectOnce","projectValidationResult","validateProject","onReportAddModalClose","scopedSlots","_u","key","fn","slotData","$refs","projectModal","emitChange","$set","contractorId","contractorItems","startDate","isValid","_l","_s","message","submitProject","toCloseProject","number","onRejectCloseProject","onConfirmCloseProject","proxy","contractors","$state","map","projects","trim","filter","p","JSON","stringify","toLowerCase","includes","addColumn","valueKey","formatFn","val","getContractorById","addAction","iconName","Edit","isAvailable","actionID","item","validate","isUndefined","closeProjectModal","closeModal","projectTypes","FETCH_PROJECT_DATA","apiCall","NSPTable","Modal","shipTypesDropdownValues","shipTypeEnumToReadableString","s","showEditUserModal","users","userTable","showEditContractorModal","contractorTable","showEditShipModal","shipTable","toEditContractor","onContractorModalClose","contractorModal","validationResult","submitContractor","toEditShip","onShipModalClose","shipModal","shipTypes","submitShip","toConfirmItem","text","onRejectDelete","onConfirmDelete","toEditUser","auth0UserID","onUserModalClose","userModal","roles","role","appMetadata","roleEnum","Skipper","availableShips","currentShip","Contractor","availableContractors","currentContractor","submitUser","Client","itemsPerPage","showPagination","Delete","contractor","confirmModal","misc","currentSelectedContractor","contractorUsers","usedContractorsIds","toString","available","currentSelectedShip","skippers","FETCH_USERS","_toggleLoader","$forceUpdate","_updateData","email","userModalRef","showLoader","skipBoxData"],"mappings":"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","file":"js/ProjectOverview.75e86e8f.js","sourcesContent":["var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Manage.vue?vue&type=style&index=0&id=34dd302b&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportExport.vue?vue&type=style&index=0&id=69d0ee44&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-wrapper\"},[_c('div',{staticClass:\"page-container\"},[_c('div',{staticClass:\"page-block\"},[_vm._m(0),_c('div',{staticClass:\"page-block-content\"},[_c('p',[_vm._v(\" Op deze pagina heeft u de mogelijkheid om rapporten te exporteren, vul de velden in en druk op exporteren. \")]),_c('div',[_c('div',{staticClass:\"nsp-label\"},[_c('div',{staticClass:\"nsp-label-title\"},[_vm._v(\"Schip\")]),_c('Dropdown',{attrs:{\"initialValue\":null,\"labelKey\":\"name\",\"valueKey\":\"id\",\"options\":_vm.ships,\"placeholder\":\"Selecteer een schip\"},model:{value:(_vm.shipId),callback:function ($$v) {_vm.shipId=$$v},expression:\"shipId\"}})],1),_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Start datum\")]),_c('DateInput',{attrs:{\"value\":_vm.from},model:{value:(_vm.from),callback:function ($$v) {_vm.from=$$v},expression:\"from\"}})],1),_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Eind datum\")]),_c('DateInput',{attrs:{\"value\":_vm.to},model:{value:(_vm.to),callback:function ($$v) {_vm.to=$$v},expression:\"to\"}})],1),_c('Button',{attrs:{\"variant\":\"nsp-primary\"},on:{\"click\":_vm.startExport}},[_vm._v(\"Start export\")])],1)])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-block-header\"},[_c('div',{staticClass:\"page-block-title\"},[_vm._v(\"Rapporten exporteren\")])])}]\n\nexport { render, staticRenderFns }","import { Ship } from '@/typing/api/ship.class';\r\nimport getEnv from '@/utils/environment/getEnvironment';\r\nimport showNotification from '@/utils/notification';\r\nimport axios from 'axios';\r\nimport { saveAs } from 'file-saver';\r\n\r\nfunction apiBaseUrl(): string {\r\n return getEnv().apiBaseUrl ?? '';\r\n}\r\n\r\nexport async function exportData(\r\n to: string,\r\n from: string,\r\n ship: Ship\r\n): Promise {\r\n try {\r\n const result: Blob = await axios.get(\r\n `${apiBaseUrl()}/v1/data/export?shipId=${\r\n ship.id\r\n }&from=${from}&to=${to}`,\r\n {\r\n responseType: 'blob',\r\n }\r\n );\r\n\r\n if (result.size === 0) {\r\n showNotification(\r\n 'Er is geen data beschikbaar voor de huidige filters.'\r\n );\r\n return;\r\n }\r\n\r\n const filename = `baggerraporten_export_${ship.name.replace(\r\n ' ',\r\n '_'\r\n )}.xlsx`;\r\n\r\n saveAs(result, filename);\r\n } catch (error) {\r\n showNotification(\r\n 'Er ging iets fout tijdens het downloaden van het rapport.'\r\n );\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { exportData } from '@/api/export';\r\nimport BaseComponent from '@/components/BaseComponent';\r\nimport Button from '@/components/Button/Button.vue';\r\nimport DateInput from '@/components/DateInput/DateInput.vue';\r\nimport Dropdown from '@/components/Dropdown/Dropdown.vue';\r\nimport { miscTypes } from '@/store/modules/misc/miscTypes';\r\nimport { Ship } from '@/typing/api/ship.class';\r\nimport { getState } from '@/utils/vueInstance';\r\nimport Component from 'vue-class-component';\r\n\r\n@Component({\r\n components: {\r\n DateInput,\r\n Button,\r\n Dropdown,\r\n },\r\n})\r\nexport default class ReportExport extends BaseComponent {\r\n get ships(): Ship[] {\r\n return getState().project.projectData?.ships ?? [];\r\n }\r\n\r\n from = '';\r\n to = '';\r\n shipId: any = null;\r\n\r\n mounted(): void {\r\n this._genericInit(true);\r\n this._setPageName('Exporteren');\r\n\r\n if (this.isClient() || this.isContractor()) {\r\n if (this.isClient()) {\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Projecten',\r\n active: false,\r\n navPath: '/projects',\r\n });\r\n }\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Rapporten',\r\n active: false,\r\n navPath: '/reports',\r\n });\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Exporteren',\r\n active: true,\r\n navPath: '/export',\r\n });\r\n if (this.isClient()) {\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Beheer',\r\n active: false,\r\n navPath: '/manage',\r\n });\r\n }\r\n } else {\r\n this.$router.push('/');\r\n }\r\n }\r\n\r\n async startExport(): Promise {\r\n const from = this.$dayjs(this.from, 'DD/MM/YYYY').utc(true);\r\n const to = this.$dayjs(this.to, 'DD/MM/YYYY').utc(true);\r\n const ship = getState().project.projectData?.ships.find(\r\n (x) => x.id === this.shipId\r\n );\r\n\r\n if (!ship) {\r\n return;\r\n }\r\n\r\n this.$store.dispatch(miscTypes.actions.TOGGLE_LOADER);\r\n await exportData(to.format(), from.format(), ship);\r\n this.$store.dispatch(miscTypes.actions.TOGGLE_LOADER);\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/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportExport.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/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportExport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReportExport.vue?vue&type=template&id=69d0ee44&scoped=true&\"\nimport script from \"./ReportExport.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReportExport.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ReportExport.vue?vue&type=style&index=0&id=69d0ee44&lang=scss&scoped=true&\"\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 \"69d0ee44\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-wrapper\"},[_c('div',{staticClass:\"page-container\"},[_c('div',{staticClass:\"page-block\"},[_c('div',{staticClass:\"page-block-header\"},[_c('div',{staticClass:\"page-block-title\"},[_vm._v(\"Projecten\")]),_c('div',{staticClass:\"filters\"},[_c('div',{staticClass:\"filter-item\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.projectFilterTerm),expression:\"projectFilterTerm\"}],attrs:{\"type\":\"text\",\"placeholder\":\"Filter waarde\"},domProps:{\"value\":(_vm.projectFilterTerm)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.projectFilterTerm=$event.target.value}}})]),_c('div',{staticClass:\"filter-item\"},[(_vm.isClient())?_c('Button',{attrs:{\"variant\":'nsp-primary'},on:{\"click\":function($event){_vm.showAddProjectModal = true}}},[_c('span',{staticClass:\"material-icons\"},[_vm._v(\"add\")]),_vm._v(\" Project toevoegen \")]):_vm._e()],1)])]),_c('div',[_c('NSPTable',{attrs:{\"items\":_vm.shownProjects,\"tableSettings\":_vm.tSettings},on:{\"tableEvent\":function($event){return _vm.handleTableEvent($event)}}})],1)])]),(_vm.isClient() && _vm.showAddProjectModal)?_c('Modal',{ref:\"projectModal\",attrs:{\"headerTitle\":_vm.newProject.id ? 'Project Aanpassen' : 'Project Aanmaken',\"closeOnBackdropClick\":true,\"slotData\":{ newProject: _vm.newProject, submittedProjectOnce: _vm.submittedProjectOnce, projectValidationResult: _vm.projectValidationResult },\"showCloseButton\":true},on:{\"change\":function($event){_vm.newProject = $event.value;\n_vm.validateProject();},\"close\":_vm.onReportAddModalClose},scopedSlots:_vm._u([{key:\"body\",fn:function(slotData){return [_c('div',{staticClass:\"fw\"},[_c('div',{staticClass:\"modal-form-row\"},[_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Project\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slotData.slotData.newProject.name),expression:\"slotData.slotData.newProject.name\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(slotData.slotData.newProject.name)},on:{\"change\":function($event){return _vm.$refs.projectModal.emitChange(\n '',\n slotData.slotData.newProject\n )},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slotData.slotData.newProject, \"name\", $event.target.value)}}})]),_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Projectnummer\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slotData.slotData.newProject.number),expression:\"slotData.slotData.newProject.number\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(slotData.slotData.newProject.number)},on:{\"change\":function($event){return _vm.$refs.projectModal.emitChange(\n '',\n slotData.slotData.newProject\n )},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slotData.slotData.newProject, \"number\", $event.target.value)}}})])]),_c('div',{staticClass:\"modal-form-row\"},[_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Omschrijving\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slotData.slotData.newProject.description),expression:\"slotData.slotData.newProject.description\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(slotData.slotData.newProject.description)},on:{\"change\":function($event){return _vm.$refs.projectModal.emitChange(\n '',\n slotData.slotData.newProject\n )},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slotData.slotData.newProject, \"description\", $event.target.value)}}})]),_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Aannemer\")]),_c('Dropdown',{attrs:{\"initialValue\":slotData.slotData.newProject.contractorId,\"labelKey\":\"label\",\"valueKey\":\"value\",\"options\":_vm.contractorItems,\"placeholder\":\"Selecteer een aannemer\"},on:{\"change\":function($event){return _vm.$refs.projectModal.emitChange(\n '',\n slotData.slotData.newProject\n )}},model:{value:(slotData.slotData.newProject.contractorId),callback:function ($$v) {_vm.$set(slotData.slotData.newProject, \"contractorId\", $$v)},expression:\"slotData.slotData.newProject.contractorId\"}})],1)]),_c('div',{staticClass:\"modal-form-row\"},[_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Start datum\")]),_c('DateInput',{attrs:{\"value\":slotData.slotData.newProject.startDate},on:{\"change\":function($event){return _vm.$refs.projectModal.emitChange(\n '',\n slotData.slotData.newProject\n )}},model:{value:(slotData.slotData.newProject.startDate),callback:function ($$v) {_vm.$set(slotData.slotData.newProject, \"startDate\", $$v)},expression:\"slotData.slotData.newProject.startDate\"}})],1),_c('label',{staticClass:\"nsp-label\"})]),_c('transition',{attrs:{\"name\":\"fade\"}},[(\n slotData.slotData.submittedProjectOnce &&\n !slotData.slotData.projectValidationResult.isValid\n )?_c('div',{staticClass:\"error-row-container\"},_vm._l((slotData.slotData.projectValidationResult\n .errors),function(error,i){return _c('div',{key:i,staticClass:\"error\"},[_c('span',{staticClass:\"material-icons\"},[_vm._v(\"error\")]),_c('span',[_vm._v(_vm._s(error.message))])])}),0):_vm._e()])],1)]}},{key:\"footer\",fn:function(slotData){return [_c('Button',{attrs:{\"variant\":'nsp-primary',\"disabled\":slotData.slotData.submittedProjectOnce &&\n !slotData.slotData.projectValidationResult.isValid},on:{\"click\":function($event){_vm.submittedProjectOnce = true;\n_vm.submitProject();}}},[_vm._v(\" \"+_vm._s(!slotData.slotData.newProject.id ? 'Toevoegen' : 'Aanpassen')+\" \")])]}}],null,false,1595715368)}):_vm._e(),(_vm.isClient() && _vm.toCloseProject)?_c('Modal',{ref:\"closeProjectModal\",attrs:{\"slotData\":{ toCloseProject: _vm.toCloseProject },\"headerTitle\":\"Project afsluiten?\",\"closeOnBackdropClick\":true},on:{\"close\":function($event){_vm.toCloseProject = null}},scopedSlots:_vm._u([{key:\"body\",fn:function(slotData){return [_vm._v(\" Het project \"+_vm._s(slotData.slotData.toCloseProject.name)+\" (\"+_vm._s(slotData.slotData.toCloseProject.number)+\") zal afgesloten. \")]}},{key:\"footer\",fn:function(){return [_c('Button',{attrs:{\"variant\":\"nsp-outline-gray\"},on:{\"click\":_vm.onRejectCloseProject}},[_vm._v(\" Annuleren \")]),_c('Button',{staticClass:\"ml-1\",attrs:{\"variant\":\"nsp-primary\"},on:{\"click\":_vm.onConfirmCloseProject}},[_vm._v(\" Afsluiten \")])]},proxy:true}],null,false,1195591177)}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport BaseComponent from '@/components/BaseComponent';\r\nimport { NSPTableSettings } from '@/components/Table/typing/table-settings';\r\nimport { miscTypes } from '@/store/modules/misc/miscTypes';\r\nimport MaterialIcon from '@/typing/enums/materialIcon.enum';\r\nimport Component from 'vue-class-component';\r\nimport NSPTable from '@/components/Table/NSPTable.vue';\r\nimport Dropdown from '@/components/Dropdown/Dropdown.vue';\r\nimport DateInput from '@/components/DateInput/DateInput.vue';\r\nimport Button from '@/components/Button/Button.vue';\r\nimport Modal from '@/components/Modal/Modal.vue';\r\nimport { INSPTableEvent } from '@/components/Table/typing/table-event.interface';\r\nimport { PostPutProject } from '@/typing/api/postProject.class';\r\nimport { isUndefined } from '@/utils/isUndefined';\r\nimport { ValidationResult } from '@/typing/validationResult.class';\r\nimport { closeProject, postProject, putProject } from '@/api/data';\r\nimport showNotification from '@/utils/notification';\r\nimport { Project } from '@/typing/api/project.class';\r\nimport { Contractor } from '@/typing/api/contractor.class';\r\nimport { projectTypes } from '@/store/modules/project/projectTypes';\r\n\r\n@Component({\r\n components: {\r\n NSPTable,\r\n Button,\r\n Modal,\r\n Dropdown,\r\n DateInput,\r\n },\r\n})\r\nexport default class ProjectOverview extends BaseComponent {\r\n tSettings = new NSPTableSettings();\r\n showAddProjectModal = false;\r\n newProject = new PostPutProject();\r\n projectValidationResult: ValidationResult = new ValidationResult();\r\n submittedProjectOnce = false;\r\n toCloseProject: Project | null = null;\r\n projectFilterTerm = '';\r\n\r\n get contractorItems(): any[] {\r\n const contractors = this.$state.project.projectData?.contractors;\r\n if (!contractors) return [];\r\n return contractors.map((c: Contractor) => {\r\n return { label: c.name, value: c.id };\r\n });\r\n }\r\n get shownProjects(): Project[] {\r\n const projects = [...this.$state.project.projectData?.projects ?? []];\r\n\r\n if (this.projectFilterTerm.trim().length > 0) {\r\n return projects.filter((p: Project) =>\r\n JSON.stringify(p)\r\n .toLowerCase()\r\n .includes(this.projectFilterTerm.toLowerCase())\r\n );\r\n }\r\n\r\n return projects;\r\n }\r\n\r\n mounted(): void {\r\n this._genericInit(true);\r\n this._setPageName('Projecten');\r\n\r\n if (this.isClient()) {\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Projecten',\r\n active: true,\r\n navPath: '/projects',\r\n });\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Rapporten',\r\n active: false,\r\n navPath: '/reports',\r\n });\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Exporteren',\r\n active: false,\r\n navPath: '/export',\r\n });\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Beheer',\r\n active: false,\r\n navPath: '/manage',\r\n });\r\n }\r\n\r\n this.tSettings\r\n .addColumn({\r\n label: 'Project',\r\n valueKey: 'name',\r\n })\r\n .addColumn({\r\n label: 'Projectnummer',\r\n valueKey: 'number',\r\n })\r\n .addColumn({\r\n label: 'Omschrijving',\r\n valueKey: 'description',\r\n });\r\n\r\n if (this.isClient()) {\r\n this.tSettings.addColumn({\r\n label: 'Aannemer',\r\n valueKey: 'contractorId',\r\n formatFn: (val: any) => {\r\n return this.$state.project.projectData?.getContractorById(val)?.name ?? val;\r\n },\r\n });\r\n\r\n this.tSettings.addAction({\r\n iconName: MaterialIcon.Edit,\r\n isAvailable: () => true,\r\n id: 'edit',\r\n });\r\n\r\n this.tSettings.addAction({\r\n name: 'Afsluiten',\r\n isAvailable: () => true,\r\n id: 'close-confirm',\r\n });\r\n }\r\n }\r\n\r\n handleTableEvent(e: INSPTableEvent): void {\r\n if (e.actionID === 'edit') {\r\n this.newProject = new PostPutProject(e.item);\r\n this.showAddProjectModal = true;\r\n } else if (e.actionID === 'close-confirm') {\r\n this.toCloseProject = e.item;\r\n }\r\n }\r\n\r\n validateProject(): void {\r\n this.projectValidationResult = this.newProject.validate(\r\n isUndefined(this.newProject.id) ? 'POST' : 'PUT'\r\n );\r\n }\r\n\r\n onReportAddModalClose(): void {\r\n this.newProject = new PostPutProject();\r\n this.showAddProjectModal = false;\r\n this.submittedProjectOnce = false;\r\n }\r\n\r\n onRejectCloseProject(): void {\r\n (this.$refs.closeProjectModal as Modal).closeModal();\r\n }\r\n\r\n async onConfirmCloseProject(): Promise {\r\n if (this.toCloseProject && !isUndefined(this.toCloseProject.id)) {\r\n try {\r\n await closeProject(this.toCloseProject.id ?? -1);\r\n await this.$store.dispatch(projectTypes.actions.FETCH_PROJECT_DATA);\r\n showNotification(`Project succesvol afgesloten.`);\r\n (this.$refs.closeProjectModal as Modal).closeModal();\r\n } catch (error: any) {\r\n showNotification(\r\n `Er is een probleem opgetreden bij het afsluiten van het project.`\r\n );\r\n }\r\n }\r\n }\r\n\r\n async submitProject(): Promise {\r\n let apiCall;\r\n\r\n this.validateProject();\r\n if (!this.projectValidationResult.isValid) return;\r\n\r\n if (isUndefined(this.newProject.id)) {\r\n apiCall = postProject(this.newProject);\r\n } else {\r\n apiCall = putProject(this.newProject);\r\n }\r\n\r\n try {\r\n await apiCall;\r\n showNotification('Project successfully saved.');\r\n (this.$refs.projectModal as Modal).closeModal();\r\n await this.$store.dispatch(projectTypes.actions.FETCH_PROJECT_DATA);\r\n } catch (error: any) {\r\n showNotification(\r\n `Er is een probleem opgetreden bij het opslaan van het project.`\r\n );\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/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectOverview.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/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectOverview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProjectOverview.vue?vue&type=template&id=2e55454b&scoped=true&\"\nimport script from \"./ProjectOverview.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProjectOverview.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 \"2e55454b\",\n null\n \n)\n\nexport default component.exports","export const shipTypesDropdownValues = [\r\n { label: 'Sleephopperzuiger', value: 'HopperDredger' },\r\n { label: 'Kraanschip', value: 'GrabDredger' },\r\n { label: 'Ploegboot', value: 'BedLeveller' },\r\n { label: 'Waterinjectievaartuig', value: 'WaterInjection' },\r\n { label: 'Splijtbak', value: 'Barge' },\r\n { label: 'Peilboot', value: 'MultibeamSurvey' },\r\n { label: 'Inspectievaartuig', value: 'SurveyVessel' },\r\n];\r\n\r\nexport function shipTypeEnumToReadableString(s: string) {\r\n return shipTypesDropdownValues.find(x => x.value === s)?.label;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-wrapper\"},[_vm._m(0),_c('div',{staticClass:\"page-container\"},[_c('div',{staticClass:\"page-block\"},[_c('div',{staticClass:\"page-block-header\"},[_c('div',{staticClass:\"page-block-title\",attrs:{\"id\":\"users\"}},[_vm._v(\"Gebruikers\")]),(_vm.isClient())?_c('Button',{attrs:{\"variant\":'nsp-primary'},on:{\"click\":function($event){_vm.showEditUserModal = true}}},[_c('span',{staticClass:\"material-icons\"},[_vm._v(\"add\")]),_vm._v(\" Gebruiker toevoegen \")]):_vm._e()],1),_c('div',{staticClass:\"page-block-content\"},[_c('NSPTable',{attrs:{\"items\":_vm.users,\"tableSettings\":_vm.userTable},on:{\"tableEvent\":function($event){return _vm.handleTableEvent($event)}}})],1)])]),_c('div',{staticClass:\"page-container\"},[_c('div',{staticClass:\"page-block\"},[_c('div',{staticClass:\"page-block-header\"},[_c('div',{staticClass:\"page-block-title\",attrs:{\"id\":\"contractors\"}},[_vm._v(\"Aannemers\")]),_c('div',{staticClass:\"filter-item\"},[(_vm.isClient())?_c('Button',{attrs:{\"variant\":'nsp-primary'},on:{\"click\":function($event){_vm.showEditContractorModal = true}}},[_c('span',{staticClass:\"material-icons\"},[_vm._v(\"add\")]),_vm._v(\" Aannemer toevoegen \")]):_vm._e()],1)]),_c('div',{staticClass:\"page-block-content\"},[_c('NSPTable',{attrs:{\"items\":_vm.contractors,\"tableSettings\":_vm.contractorTable},on:{\"tableEvent\":function($event){return _vm.handleTableEvent($event)}}})],1)])]),_c('div',{staticClass:\"page-container\"},[_c('div',{staticClass:\"page-block\"},[_c('div',{staticClass:\"page-block-header\"},[_c('div',{staticClass:\"page-block-title\",attrs:{\"id\":\"ships\"}},[_vm._v(\"Schepen\")]),(_vm.isClient())?_c('Button',{attrs:{\"variant\":'nsp-primary'},on:{\"click\":function($event){_vm.showEditShipModal = true}}},[_c('span',{staticClass:\"material-icons\"},[_vm._v(\"add\")]),_vm._v(\" Schip toevoegen \")]):_vm._e()],1),_c('div',{staticClass:\"page-block-content\"},[_c('NSPTable',{attrs:{\"items\":_vm.ships,\"tableSettings\":_vm.shipTable},on:{\"tableEvent\":function($event){return _vm.handleTableEvent($event)}}})],1)])]),_c('Modal',{ref:\"contractorModal\",attrs:{\"active\":_vm.showEditContractorModal,\"headerTitle\":_vm.toEditContractor.id !== -1 ? 'Aannemer Aanpassen' : 'Aannemer Aanmaken',\"closeOnBackdropClick\":true,\"slotData\":{ toEditContractor: _vm.toEditContractor },\"showCloseButton\":true},on:{\"change\":function($event){_vm.toEditContractor = $event.value},\"close\":_vm.onContractorModalClose},scopedSlots:_vm._u([{key:\"body\",fn:function(slotData){return [_c('div',{staticClass:\"fw\"},[_c('div',{staticClass:\"modal-form-row\"},[_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Naam\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slotData.slotData.toEditContractor.name),expression:\"slotData.slotData.toEditContractor.name\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(slotData.slotData.toEditContractor.name)},on:{\"change\":function($event){return _vm.$refs.contractorModal.emitChange(\n '',\n slotData.slotData.toEditContractor\n )},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slotData.slotData.toEditContractor, \"name\", $event.target.value)}}})])]),_c('transition',{attrs:{\"name\":\"fade\"}},[(\n slotData.slotData.toEditContractor.validationResult &&\n !slotData.slotData.toEditContractor.validationResult.isValid\n )?_c('div',{staticClass:\"error-row-container\"},_vm._l((slotData.slotData.toEditContractor\n .validationResult.errors),function(error,i){return _c('div',{key:i,staticClass:\"error\"},[_c('span',{staticClass:\"material-icons\"},[_vm._v(\"error\")]),_c('span',[_vm._v(_vm._s(error.message))])])}),0):_vm._e()])],1)]}},{key:\"footer\",fn:function(slotData){return [_c('Button',{attrs:{\"variant\":'nsp-primary'},on:{\"click\":_vm.submitContractor}},[_vm._v(\" \"+_vm._s(slotData.slotData.toEditContractor.id === -1 ? 'Toevoegen' : 'Aanpassen')+\" \")])]}}])}),_c('Modal',{ref:\"shipModal\",attrs:{\"active\":_vm.showEditShipModal,\"headerTitle\":_vm.toEditShip.id !== -1 ? 'Schip Aanpassen' : 'Schip Aanmaken',\"closeOnBackdropClick\":true,\"slotData\":{ toEditShip: _vm.toEditShip },\"showCloseButton\":true},on:{\"change\":function($event){_vm.toEditShip = $event.value},\"close\":_vm.onShipModalClose},scopedSlots:_vm._u([{key:\"body\",fn:function(slotData){return [_c('div',{staticClass:\"fw\"},[_c('div',{staticClass:\"modal-form-row\"},[_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Naam\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slotData.slotData.toEditShip.name),expression:\"slotData.slotData.toEditShip.name\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(slotData.slotData.toEditShip.name)},on:{\"change\":function($event){return _vm.$refs.shipModal.emitChange('', slotData.slotData.toEditShip)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slotData.slotData.toEditShip, \"name\", $event.target.value)}}})]),_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Type\")]),_c('Dropdown',{attrs:{\"valueKey\":\"value\",\"labelKey\":\"label\",\"options\":_vm.shipTypes,\"initialValue\":slotData.slotData.toEditShip.type},on:{\"change\":function($event){return _vm.$refs.shipModal.emitChange('', slotData.slotData.toEditShip)}},model:{value:(slotData.slotData.toEditShip.type),callback:function ($$v) {_vm.$set(slotData.slotData.toEditShip, \"type\", $$v)},expression:\"slotData.slotData.toEditShip.type\"}})],1)]),_c('div',{staticClass:\"modal-form-row\"},[_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Maximale volume (m3)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slotData.slotData.toEditShip.maximumVolume),expression:\"slotData.slotData.toEditShip.maximumVolume\"}],attrs:{\"type\":\"number\"},domProps:{\"value\":(slotData.slotData.toEditShip.maximumVolume)},on:{\"change\":function($event){return _vm.$refs.shipModal.emitChange('', slotData.slotData.toEditShip)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slotData.slotData.toEditShip, \"maximumVolume\", $event.target.value)}}})]),_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Aannemer\")]),_c('Dropdown',{attrs:{\"valueKey\":\"id\",\"labelKey\":\"name\",\"options\":_vm.contractors,\"initialValue\":slotData.slotData.toEditShip.contractorId},on:{\"change\":function($event){return _vm.$refs.shipModal.emitChange('', slotData.slotData.toEditShip)}},model:{value:(slotData.slotData.toEditShip.contractorId),callback:function ($$v) {_vm.$set(slotData.slotData.toEditShip, \"contractorId\", $$v)},expression:\"slotData.slotData.toEditShip.contractorId\"}})],1)]),_c('div',{staticClass:\"modal-form-row\"},[_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"ENI\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slotData.slotData.toEditShip.eni),expression:\"slotData.slotData.toEditShip.eni\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(slotData.slotData.toEditShip.eni)},on:{\"change\":function($event){return _vm.$refs.shipModal.emitChange('', slotData.slotData.toEditShip)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slotData.slotData.toEditShip, \"eni\", $event.target.value)}}})]),_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"IMO\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slotData.slotData.toEditShip.imo),expression:\"slotData.slotData.toEditShip.imo\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(slotData.slotData.toEditShip.imo)},on:{\"change\":function($event){return _vm.$refs.shipModal.emitChange('', slotData.slotData.toEditShip)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slotData.slotData.toEditShip, \"imo\", $event.target.value)}}})])]),_c('div',{staticClass:\"modal-form-row\"},[_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"MMSI\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slotData.slotData.toEditShip.mmsi),expression:\"slotData.slotData.toEditShip.mmsi\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(slotData.slotData.toEditShip.mmsi)},on:{\"change\":function($event){return _vm.$refs.shipModal.emitChange('', slotData.slotData.toEditShip)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slotData.slotData.toEditShip, \"mmsi\", $event.target.value)}}})])]),_c('transition',{attrs:{\"name\":\"fade\"}},[(\n slotData.slotData.toEditShip.validationResult &&\n !slotData.slotData.toEditShip.validationResult.isValid\n )?_c('div',{staticClass:\"error-row-container\"},_vm._l((slotData.slotData.toEditShip\n .validationResult.errors),function(error,i){return _c('div',{key:i,staticClass:\"error\"},[_c('span',{staticClass:\"material-icons\"},[_vm._v(\"error\")]),_c('span',[_vm._v(_vm._s(error.message))])])}),0):_vm._e()])],1)]}},{key:\"footer\",fn:function(slotData){return [_c('Button',{attrs:{\"variant\":'nsp-primary'},on:{\"click\":_vm.submitShip}},[_vm._v(\" \"+_vm._s(slotData.slotData.toEditShip.id === -1 ? 'Toevoegen' : 'Aanpassen')+\" \")])]}}])}),_c('Modal',{ref:\"confirmModal\",attrs:{\"active\":_vm.toConfirmItem,\"showHeader\":false,\"slotData\":{ toConfirmItem: _vm.toConfirmItem }},scopedSlots:_vm._u([{key:\"body\",fn:function(slotData){return [_c('p',[_vm._v(_vm._s(slotData.slotData.toConfirmItem.text))])]}},{key:\"footer\",fn:function(){return [_c('Button',{attrs:{\"variant\":\"nsp-outline-gray\"},on:{\"click\":_vm.onRejectDelete}},[_vm._v(\" Annuleren \")]),_c('Button',{staticClass:\"ml-1\",attrs:{\"variant\":\"nsp-primary\"},on:{\"click\":_vm.onConfirmDelete}},[_vm._v(\" Doorgaan \")])]},proxy:true}])}),_c('Modal',{ref:\"userModal\",attrs:{\"active\":_vm.showEditUserModal,\"headerTitle\":_vm.toEditUser &&\n _vm.toEditUser.auth0UserID &&\n _vm.toEditUser.auth0UserID.length > 0\n ? 'Gebruiker Aanpassen'\n : 'Gebruiker Aanmaken',\"closeOnBackdropClick\":true,\"slotData\":{ toEditUser: _vm.toEditUser },\"showCloseButton\":true},on:{\"change\":function($event){_vm.toEditUser = $event.value},\"close\":_vm.onUserModalClose},scopedSlots:_vm._u([{key:\"body\",fn:function(slotData){return [_c('div',{staticClass:\"fw\"},[_c('div',{staticClass:\"modal-form-row\"},[_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Naam\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slotData.slotData.toEditUser.name),expression:\"slotData.slotData.toEditUser.name\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(slotData.slotData.toEditUser.name)},on:{\"change\":function($event){return _vm.$refs.userModal.emitChange('', slotData.slotData.toEditUser)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slotData.slotData.toEditUser, \"name\", $event.target.value)}}})]),_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"E-mail\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(slotData.slotData.toEditUser.email),expression:\"slotData.slotData.toEditUser.email\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(slotData.slotData.toEditUser.email)},on:{\"change\":function($event){return _vm.$refs.userModal.emitChange('', slotData.slotData.toEditUser)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(slotData.slotData.toEditUser, \"email\", $event.target.value)}}})])]),_c('div',{staticClass:\"modal-form-row\"},[_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Rol\")]),_c('Dropdown',{attrs:{\"valueKey\":\"value\",\"labelKey\":\"label\",\"disabled\":slotData.slotData.toEditUser.auth0UserID !== '',\"options\":_vm.roles,\"initialValue\":slotData.slotData.toEditUser.role},on:{\"change\":function($event){slotData.slotData.toEditUser.appMetadata = {};\n _vm.$refs.userModal.emitChange('', slotData.slotData.toEditUser);}},model:{value:(slotData.slotData.toEditUser.role),callback:function ($$v) {_vm.$set(slotData.slotData.toEditUser, \"role\", $$v)},expression:\"slotData.slotData.toEditUser.role\"}})],1),_c('transition',{attrs:{\"name\":\"fade-in\"}},[(slotData.slotData.toEditUser.role == _vm.roleEnum.Skipper)?_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Gekoppeld schip\")]),_c('Dropdown',{attrs:{\"valueKey\":\"id\",\"labelKey\":\"name\",\"options\":_vm.availableShips,\"initialValue\":_vm.currentShip},on:{\"change\":function($event){return _vm.$refs.userModal.emitChange('', slotData.slotData.toEditUser)}},model:{value:(slotData.slotData.toEditUser.appMetadata.shipId),callback:function ($$v) {_vm.$set(slotData.slotData.toEditUser.appMetadata, \"shipId\", $$v)},expression:\"slotData.slotData.toEditUser.appMetadata.shipId\"}})],1):_vm._e()]),_c('transition',{attrs:{\"name\":\"fade-in\"}},[(slotData.slotData.toEditUser.role == _vm.roleEnum.Contractor)?_c('label',{staticClass:\"nsp-label\"},[_c('span',{staticClass:\"nsp-label-title\"},[_vm._v(\"Gekoppelde aannemer\")]),_c('Dropdown',{attrs:{\"valueKey\":\"id\",\"labelKey\":\"name\",\"options\":_vm.availableContractors,\"initialValue\":_vm.currentContractor},on:{\"change\":function($event){return _vm.$refs.userModal.emitChange('', slotData.slotData.toEditUser)}},model:{value:(\n slotData.slotData.toEditUser.appMetadata.contractorId\n ),callback:function ($$v) {_vm.$set(slotData.slotData.toEditUser.appMetadata, \"contractorId\", $$v)},expression:\"\\n slotData.slotData.toEditUser.appMetadata.contractorId\\n \"}})],1):_vm._e()])],1),_c('transition',{attrs:{\"name\":\"fade\"}},[(\n slotData.slotData.toEditUser.validationResult &&\n !slotData.slotData.toEditUser.validationResult.isValid\n )?_c('div',{staticClass:\"error-row-container\"},_vm._l((slotData.slotData.toEditUser\n .validationResult.errors),function(error,i){return _c('div',{key:i,staticClass:\"error\"},[_c('span',{staticClass:\"material-icons\"},[_vm._v(\"error\")]),_c('span',[_vm._v(_vm._s(error.message))])])}),0):_vm._e()])],1)]}},{key:\"footer\",fn:function(slotData){return [_c('Button',{attrs:{\"variant\":'nsp-primary'},on:{\"click\":_vm.submitUser}},[_vm._v(\" \"+_vm._s(slotData.slotData.toEditUser.auth0UserID.length === 0 ? 'Toevoegen' : 'Aanpassen')+\" \")])]}}])})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-container\"},[_c('div',{staticClass:\"page-block\"},[_c('div',{staticClass:\"page-block-header\"},[_c('div',{staticClass:\"page-block-title\"},[_vm._v(\"Beheer\")])]),_c('div',{staticClass:\"page-block-content\"},[_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"#users\"}},[_vm._v(\"Gebruikers\")])]),_c('li',[_c('a',{attrs:{\"href\":\"#contractors\"}},[_vm._v(\"Aannemers\")])]),_c('li',[_c('a',{attrs:{\"href\":\"#ships\"}},[_vm._v(\"Schepen\")])])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport BaseComponent from '@/components/BaseComponent';\r\nimport Button from '@/components/Button/Button.vue';\r\nimport Dropdown from '@/components/Dropdown/Dropdown.vue';\r\nimport Modal from '@/components/Modal/Modal.vue';\r\nimport NSPTable from '@/components/Table/NSPTable.vue';\r\nimport { INSPTableEvent } from '@/components/Table/typing/table-event.interface';\r\nimport { NSPTableSettings } from '@/components/Table/typing/table-settings';\r\nimport { miscTypes } from '@/store/modules/misc/miscTypes';\r\nimport { Contractor } from '@/typing/api/contractor.class';\r\nimport { Ship } from '@/typing/api/ship.class';\r\nimport { getState } from '@/utils/vueInstance';\r\nimport Component from 'vue-class-component';\r\nimport { User } from '@/typing/api/user.class';\r\nimport Role, { readableRole } from '@/typing/enums/role.enum';\r\nimport showNotification from '@/utils/notification';\r\nimport { projectTypes } from '@/store/modules/project/projectTypes';\r\nimport {\r\n putContractor,\r\n postContractor,\r\n putShip,\r\n postShip,\r\n deleteContractor,\r\n deleteShip,\r\n userPasswordReset,\r\n postUser,\r\n putUser,\r\n deleteUser,\r\n} from '@/api/manage';\r\nimport MaterialIcon from '@/typing/enums/materialIcon.enum';\r\nimport { shipTypesDropdownValues } from '@/utils/shipTypes';\r\n\r\n@Component({\r\n components: {\r\n NSPTable,\r\n Button,\r\n Modal,\r\n Dropdown,\r\n },\r\n})\r\nexport default class Manage extends BaseComponent {\r\n get userModalRef(): Modal | null {\r\n const ref = this.$refs.userModal;\r\n return ref ? (ref as Modal) : null;\r\n }\r\n\r\n get confirmModal(): Modal | null {\r\n const ref = this.$refs.confirmModal;\r\n return ref ? (ref as Modal) : null;\r\n }\r\n\r\n get shipModal(): Modal | null {\r\n const ref = this.$refs.shipModal;\r\n return ref ? (ref as Modal) : null;\r\n }\r\n\r\n get userModal(): Modal | null {\r\n const ref = this.$refs.userModal;\r\n return ref ? (ref as Modal) : null;\r\n }\r\n\r\n get contractorModal(): Modal | null {\r\n const ref = this.$refs.contractorModal;\r\n return ref ? (ref as Modal) : null;\r\n }\r\n\r\n toEditUser?: User = new User();\r\n showEditUserModal = false;\r\n\r\n toEditContractor: Contractor = new Contractor();\r\n showEditContractorModal = false;\r\n\r\n toEditShip: Ship = new Ship();\r\n showEditShipModal = false;\r\n\r\n shipTypes: any[] = shipTypesDropdownValues;\r\n\r\n roles = [\r\n { label: 'Schipper', value: Role.Skipper },\r\n { label: 'Aannemer', value: Role.Contractor },\r\n { label: 'Opdrachtgever', value: Role.Client },\r\n ];\r\n\r\n toConfirmItem: { item: any; text: string; apiCall: any } | null = null;\r\n\r\n roleEnum = Role;\r\n\r\n get users(): any[] {\r\n return getState().misc.users;\r\n }\r\n\r\n get contractors(): Contractor[] {\r\n return getState().project.projectData?.contractors ?? [];\r\n }\r\n\r\n get ships(): Ship[] {\r\n return getState().project.projectData?.ships ?? [];\r\n }\r\n\r\n get availableContractors(): Contractor[] {\r\n const currentSelectedContractor =\r\n this.toEditUser?.appMetadata?.contractorId ?? -1;\r\n\r\n const contractors = this.contractors;\r\n const contractorUsers = this.users.filter(\r\n (x) => x.role === Role.Contractor\r\n );\r\n const usedContractorsIds = contractorUsers.map((x) =>\r\n x.appMetadata.contractorId.toString()\r\n );\r\n\r\n const available = contractors.filter(\r\n (x) =>\r\n !usedContractorsIds.includes(x.id.toString()) ||\r\n x.id.toString() === currentSelectedContractor.toString()\r\n );\r\n\r\n return available;\r\n }\r\n\r\n get currentContractor(): Contractor | null {\r\n const currentSelectedContractor =\r\n this.toEditUser?.appMetadata?.contractorId ?? -1;\r\n\r\n if (currentSelectedContractor === -1) {\r\n return null;\r\n }\r\n\r\n return (\r\n this.contractors.find(\r\n (x) => (x.id as any) == (currentSelectedContractor as any)\r\n ) ?? ({ name: 'Verwijderd' } as any)\r\n );\r\n }\r\n\r\n get currentShip(): Ship | null {\r\n const currentShip = this.toEditUser?.appMetadata?.shipId ?? -1;\r\n\r\n if (currentShip === -1) {\r\n return null;\r\n }\r\n\r\n return (\r\n this.ships.find((x) => (x.id as any) == (currentShip as any)) ??\r\n ({ name: 'Verwijderd' } as any)\r\n );\r\n }\r\n\r\n get availableShips(): Ship[] {\r\n const currentSelectedShip = this.toEditUser?.appMetadata?.shipId ?? -1;\r\n\r\n const ships = this.ships;\r\n const skippers = this.users.filter((x) => x.role === Role.Skipper);\r\n const usedContractorsIds = skippers.map((x) =>\r\n x.appMetadata.shipId.toString()\r\n );\r\n\r\n const available = ships.filter(\r\n (x) =>\r\n !usedContractorsIds.includes(x.id.toString()) ||\r\n x.id.toString() === currentSelectedShip.toString()\r\n );\r\n\r\n return available;\r\n }\r\n\r\n userTable = new NSPTableSettings({ itemsPerPage: 10, showPagination: true })\r\n .addColumn({ label: 'Naam', valueKey: 'name' })\r\n .addColumn({ label: 'E-mail', valueKey: 'email' })\r\n .addColumn({ label: 'Rol', valueKey: 'role', formatFn: readableRole })\r\n .addAction({\r\n name: 'Password reset',\r\n id: 'user-reset-password',\r\n isAvailable: () => true,\r\n })\r\n .addAction({\r\n iconName: MaterialIcon.Edit,\r\n id: 'edit-user',\r\n isAvailable: () => true,\r\n })\r\n .addAction({\r\n iconName: MaterialIcon.Delete,\r\n id: 'delete-user',\r\n isAvailable: () => true,\r\n });\r\n\r\n contractorTable = new NSPTableSettings({\r\n itemsPerPage: 10,\r\n showPagination: true,\r\n })\r\n .addColumn({ label: 'Naam', valueKey: 'name' })\r\n .addAction({\r\n iconName: MaterialIcon.Edit,\r\n id: 'edit-contractor',\r\n isAvailable: () => true,\r\n })\r\n .addAction({\r\n iconName: MaterialIcon.Delete,\r\n id: 'delete-contractor',\r\n isAvailable: () => true,\r\n });\r\n\r\n shipTable = new NSPTableSettings({ itemsPerPage: 10, showPagination: true })\r\n .addColumn({ label: 'Naam', valueKey: 'name' })\r\n .addColumn({ label: 'Type', valueKey: 'type' })\r\n .addColumn({\r\n label: 'Aannemer',\r\n valueKey: 'contractorId',\r\n formatFn: (val: number) => {\r\n const contractor = this.contractors.find((x) => x.id === val);\r\n if (!contractor) {\r\n return 'Verwijderd';\r\n }\r\n return contractor.name;\r\n },\r\n })\r\n .addAction({\r\n iconName: MaterialIcon.Edit,\r\n id: 'edit-ship',\r\n isAvailable: () => true,\r\n })\r\n .addAction({\r\n iconName: MaterialIcon.Delete,\r\n id: 'delete-ship',\r\n isAvailable: () => true,\r\n });\r\n\r\n async mounted(): Promise {\r\n this._genericInit(true);\r\n this._setPageName('Beheer');\r\n\r\n if (this.isClient()) {\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Projecten',\r\n active: false,\r\n navPath: '/projects',\r\n });\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Rapporten',\r\n active: false,\r\n navPath: '/reports',\r\n });\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Exporteren',\r\n active: false,\r\n navPath: '/export',\r\n });\r\n this.$store.dispatch(miscTypes.actions.ADD_HEADER_NAV_LINK, {\r\n label: 'Beheer',\r\n active: true,\r\n navPath: '/manage',\r\n });\r\n } else {\r\n this.$router.push('/');\r\n }\r\n\r\n await this.$store.dispatch(miscTypes.actions.FETCH_USERS);\r\n }\r\n\r\n async onConfirmDelete(): Promise {\r\n try {\r\n this._toggleLoader();\r\n await this.toConfirmItem?.apiCall(this.toConfirmItem.item);\r\n this.confirmModal?.closeModal();\r\n\r\n if (this.toConfirmItem?.text.toLowerCase().includes('gebruiker')) {\r\n await this.$store.dispatch(miscTypes.actions.FETCH_USERS);\r\n this.$forceUpdate();\r\n } else {\r\n this._updateData();\r\n }\r\n\r\n showNotification('Verwijderen is gelukt.');\r\n this.toConfirmItem = null;\r\n } catch (error) {\r\n showNotification('Er is iets fout gegaan tijdens het verwijderen.');\r\n } finally {\r\n this._toggleLoader();\r\n }\r\n }\r\n\r\n onRejectDelete(): void {\r\n (this.$refs.confirmModal as Modal).closeModal();\r\n this.toConfirmItem = null;\r\n }\r\n\r\n async handleTableEvent(e: INSPTableEvent): Promise {\r\n if (e.actionID === 'edit-user') {\r\n this.toEditUser = new User(e.item);\r\n this.showEditUserModal = true;\r\n }\r\n\r\n if (e.actionID === 'delete-user') {\r\n this.toConfirmItem = {\r\n item: e.item,\r\n text: `Weet je het zeker dat je deze gebruiker (${e.item.email}) wilt verwijderen?`,\r\n apiCall: (item: any) => deleteUser(item),\r\n };\r\n }\r\n\r\n if (e.actionID === 'edit-contractor') {\r\n this.toEditContractor = new Contractor(e.item);\r\n this.showEditContractorModal = true;\r\n }\r\n\r\n if (e.actionID === 'delete-contractor') {\r\n this.toConfirmItem = {\r\n item: e.item,\r\n text: 'Weet je het zeker dat je deze aannemer wilt verwijderen?',\r\n apiCall: (item: any) => deleteContractor(item),\r\n };\r\n }\r\n\r\n if (e.actionID === 'edit-ship') {\r\n this.toEditShip = new Ship(e.item);\r\n this.showEditShipModal = true;\r\n }\r\n\r\n if (e.actionID === 'delete-ship') {\r\n this.toConfirmItem = {\r\n item: e.item,\r\n text: 'Weet je het zeker dat je dit schip wilt verwijderen?',\r\n apiCall: (item: any) => deleteShip(item),\r\n };\r\n }\r\n\r\n if (e.actionID === 'user-reset-password') {\r\n this._toggleLoader();\r\n try {\r\n await userPasswordReset(e.item);\r\n showNotification(\r\n `Een mail zal verstuurd worden naar de gebruiker, met een link om het password aan te passen.`\r\n );\r\n } catch (error) {\r\n showNotification(\r\n 'Er ging iets fout tijdens het versturen van de mail, probeer het later opnieuw.'\r\n );\r\n } finally {\r\n this._toggleLoader();\r\n }\r\n }\r\n\r\n this.$forceUpdate();\r\n }\r\n\r\n onUserModalClose(): void {\r\n this.toEditUser = new User();\r\n this.showEditUserModal = false;\r\n }\r\n\r\n async submitUser(): Promise {\r\n if (!this.toEditUser) return;\r\n\r\n if (!this.toEditUser.validate().isValid) {\r\n return;\r\n }\r\n\r\n this._toggleLoader();\r\n try {\r\n if (this.toEditUser.auth0UserID) {\r\n await putUser(this.toEditUser);\r\n } else {\r\n await postUser(this.toEditUser);\r\n }\r\n this.userModalRef?.closeModal();\r\n showNotification('Gebruiker opgeslagen.');\r\n await this.$store.dispatch(miscTypes.actions.FETCH_USERS, {\r\n showLoader: false,\r\n });\r\n } catch (error) {\r\n showNotification(\r\n 'Er is iet misgegaan met het opslaan van de gebruiker, probeer het later opnieuw.'\r\n );\r\n } finally {\r\n this._toggleLoader();\r\n }\r\n }\r\n\r\n onContractorModalClose(): void {\r\n this.toEditContractor = new Contractor();\r\n this.showEditContractorModal = false;\r\n }\r\n\r\n async submitContractor(): Promise {\r\n if (!this.toEditContractor.validate().isValid) {\r\n return;\r\n }\r\n\r\n this._toggleLoader();\r\n try {\r\n if (this.toEditContractor.id > -1) {\r\n await putContractor(this.toEditContractor);\r\n } else {\r\n await postContractor(this.toEditContractor);\r\n }\r\n\r\n this.contractorModal?.closeModal();\r\n showNotification('Aannemer opgeslagen.');\r\n this._updateData();\r\n } catch (error) {\r\n console.error(error);\r\n } finally {\r\n this._toggleLoader();\r\n }\r\n }\r\n\r\n onShipModalClose(): void {\r\n this.toEditShip = new Ship();\r\n this.showEditShipModal = false;\r\n }\r\n\r\n async submitShip(): Promise {\r\n if (!this.toEditShip.validate().isValid) {\r\n return;\r\n }\r\n\r\n this._toggleLoader();\r\n try {\r\n if (this.toEditShip.id > -1) {\r\n await putShip(this.toEditShip);\r\n } else {\r\n await postShip(this.toEditShip);\r\n }\r\n this.shipModal?.closeModal();\r\n showNotification('Schip opgeslagen.');\r\n this._updateData();\r\n } catch (error) {\r\n console.error(error);\r\n } finally {\r\n this._toggleLoader();\r\n }\r\n }\r\n\r\n private async _updateData(): Promise {\r\n await this.$store.dispatch(projectTypes.actions.FETCH_PROJECT_DATA, {\r\n skipBoxData: true,\r\n });\r\n this.$forceUpdate();\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/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Manage.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/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Manage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Manage.vue?vue&type=template&id=34dd302b&scoped=true&\"\nimport script from \"./Manage.vue?vue&type=script&lang=ts&\"\nexport * from \"./Manage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Manage.vue?vue&type=style&index=0&id=34dd302b&lang=scss&scoped=true&\"\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 \"34dd302b\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}