{"version":3,"sources":["webpack:///./src/views/Tools.vue?e5bc","webpack:///./src/models/ToolData.ts","webpack:///./src/components/ToolDialog.vue?db43","webpack:///./src/components/ToolDialog.vue?3cfb","webpack:///./src/components/ToolDialog.vue?df1e","webpack:///./src/components/ToolDialog.vue","webpack:///./src/components/ToolVersionsDialog.vue?59b4","webpack:///./src/components/ToolVersionDialog.vue?9f8e","webpack:///./src/components/ToolVersionDialog.vue?04e8","webpack:///./src/components/ToolVersionDialog.vue?3f66","webpack:///./src/components/ToolVersionDialog.vue","webpack:///./src/components/ToolVersionsDialog.vue?8b63","webpack:///./src/components/ToolVersionsDialog.vue?4154","webpack:///./src/components/ToolVersionsDialog.vue","webpack:///./src/views/Tools.vue?9514","webpack:///./src/views/Tools.vue?0bf7","webpack:///./src/views/Tools.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","_v","staticClass","$auth","scopedSlots","_u","key","fn","ref","on","_g","$event","stopPropagation","initiateAddTool","_e","model","value","callback","$$v","search","expression","getHeaders","items","loading","item","getColor","type","_s","getType","usageType","getUsageType","initiateEditTool","deleteTool","initiateEditToolVersions","proxy","toolDialogShown","toolDialogIsEditing","itemToBeEdited","addTool","editTool","toolVersionsDialogShown","errorDialogIsShown","failure","showError","domProps","errorMessage","staticRenderFns","pName","pIconFileName","pType","pUsageType","pHelpFilePath","pDescription","pId","pApplications","pCommands","pVersions","name","iconFileName","helpFilePath","description","id","applications","commands","versions","privateIsShown","getTitle","valid","nonEmpty","types","usageTypes","initiateAddCommand","getCommandHeaders","initiateEditCommand","deleteCommand","initiateAddApplication","getApplicationHeaders","initiateEditApplication","deleteApplication","validationErrors","isValidEdit","cancelled","commitChanges","applicationDialogIsShown","applicationDialogIsEditing","applicationToEdit","addApplication","editApplication","commandDialogIsShown","commandDialogIsEditing","commandToEdit","addCommand","editCommand","ToolComData","Other","ToolAppData","FailureResponseData","applicationHeaders","text","commandHeaders","EnumHelpers","GetProductOrToolTypes","GetUsageTypes","canManage","filter","h","onIsShownPropertyChanged","oldvalue","onprivateIsShownPropertyChanged","fetchTool","$emit","checkForm","resp","res","ToolData","GetProductOrToolTypeValue","GetUsageTypeValue","a","put","catch","error","ErrorHandlingHelpers","getFailureMessage","post","data","message","setDefaultData","resetValidation","GetCommandType","GetColor","isEdit","form","$refs","validate","push","length","oldCommand","newCommand","assemblyName","className","shortName","availabilityClassName","toolTipText","largeIconFileName","smallIconFileName","oldApplication","newApplication","com","app","get","GetProductOrToolType","GetUsageType","default","required","ToolDialog","components","RowActions","ErrorDialog","ApplicationDialog","CommandDialog","ValidationErrorsCard","ActionsCard","TitleCard","App","component","VCard","VCardTitle","VChip","VCol","VContainer","VDataTable","VDialog","VDivider","VForm","VIcon","VRow","VSelect","VSlideYTransition","VSpacer","VTextField","VTextarea","VTooltip","initiateAddVersion","initiateEditVersion","deleteVersion","versionDialogIsShown","versionDialogIsEditing","versionToEdit","addVersion","editVersion","minSupportedVersion","maxSupportedVersion","publishedUTC","dateMenuShown","menu","save","changeLog","fetchToolVersion","ToolVersionData","DateHelpers","convertToDate","ownerId","Date","getUTCFullYear","toString","getTodaysDate","logEntryAdded","logItem","logEntryEdited","oldLogItem","newLogItem","toolId","logEntryRemoved","cl","convertToString","ToolVersionDialog","ChangesLogTable","VBtn","VDatePicker","VMenu","headers","oldVersion","newVersion","delete","v","splice","ToolVersionsDialog","i","newToolData","sort","t1","t2","oldToolData","created","fetchTools","params","count","skip","Tools","VAlert","VProgressLinear"],"mappings":"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","file":"js/tools.a95f9322.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-slide-y-transition',{attrs:{\"mode\":\"out-in\"}},[_c('v-row',[_c('v-col',[_c('h1',[_vm._v(\"Tools\")]),_c('v-card',[_c('v-card-title',{staticClass:\"elevation-1\"},[_vm._v(\" Tools from CTC Software \"),_c('v-spacer'),(this.$auth.canManage)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"color\":\"secondary\",\"large\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.initiateAddTool()}}},on),[_vm._v(\"add\")])]}}],null,false,3646556606)},[_c('span',[_vm._v(\"New Tool\")])]):_vm._e(),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.getHeaders,\"items\":_vm.items,\"search\":_vm.search,\"loading\":_vm.loading,\"footer-props\":{ 'items-per-page-options': [10, 25, 50, -1] }},scopedSlots:_vm._u([{key:\"item.type\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-chip',{attrs:{\"color\":_vm.getColor(item.type),\"dark\":\"\"}},[_vm._v(_vm._s(_vm.getType(item.type)))])]}},{key:\"item.usageType\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-chip',{attrs:{\"color\":_vm.getColor(item.usageType),\"dark\":\"\"}},[_vm._v(_vm._s(_vm.getUsageType(item.usageType)))])]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('RowActions',{attrs:{\"canDuplicate\":false,\"canEditVersions\":true,\"item\":item},on:{\"editItem\":_vm.initiateEditTool,\"deleteItem\":_vm.deleteTool,\"editItemVersions\":_vm.initiateEditToolVersions}})]}}])},[_c('v-progress-linear',{attrs:{\"color\":\"red\",\"indeterminate\":\"\"},scopedSlots:_vm._u([{key:\"progress\",fn:function(){return undefined},proxy:true}])})],1)],1),_c('ToolDialog',{attrs:{\"isShown\":_vm.toolDialogShown,\"isEdit\":_vm.toolDialogIsEditing,\"item\":_vm.itemToBeEdited},on:{\"dialogClosed\":function($event){_vm.toolDialogShown = false},\"addTool\":_vm.addTool,\"editTool\":_vm.editTool}}),_c('ToolVersionsDialog',{attrs:{\"isShown\":_vm.toolVersionsDialogShown,\"item\":_vm.itemToBeEdited},on:{\"dialogClosed\":function($event){_vm.toolVersionsDialogShown = false}}}),_c('ErrorDialog',{attrs:{\"isShown\":_vm.errorDialogIsShown,\"failure\":_vm.failure},on:{\"dialogClosed\":function($event){_vm.errorDialogIsShown = false}}})],1)],1)],1),_c('v-alert',{attrs:{\"value\":_vm.showError,\"type\":\"error\"},domProps:{\"textContent\":_vm._s(_vm.errorMessage)}},[_vm._v(\"Unknown Error\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ToolAppData } from './ToolAppData'\r\nimport { ToolComData } from './ToolComData'\r\nimport { ToolVersionData } from './ToolVersionData'\r\nimport { ProductOrToolType, UsageType, EnumHelpers } from '@/helpers/EnumHelpers'\r\n\r\nexport class ToolData {\r\n public name: string\r\n public iconFileName: string\r\n public type: ProductOrToolType\r\n public usageType: UsageType\r\n public id: string\r\n public helpFilePath: string\r\n public description: string\r\n public applications: ToolAppData[]\r\n public commands: ToolComData[]\r\n public versions: ToolVersionData[]\r\n public uniqueName: string\r\n\r\n constructor(\r\n pName: string,\r\n pIconFileName: string,\r\n pType: ProductOrToolType,\r\n pUsageType: UsageType,\r\n pHelpFilePath: string,\r\n pDescription: string,\r\n pId: string,\r\n pApplications: ToolAppData[],\r\n pCommands: ToolComData[],\r\n pVersions: ToolVersionData[]\r\n ) {\r\n this.name = pName\r\n this.iconFileName = pIconFileName\r\n this.type = pType\r\n this.usageType = pUsageType\r\n this.helpFilePath = pHelpFilePath\r\n this.description = pDescription\r\n this.id = pId\r\n this.applications = pApplications\r\n this.commands = pCommands\r\n this.versions = pVersions\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"1024\"},model:{value:(_vm.privateIsShown),callback:function ($$v) {_vm.privateIsShown=$$v},expression:\"privateIsShown\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-slide-y-transition',{attrs:{\"mode\":\"out-in\"}},[_c('v-card',[_c('TitleCard',{attrs:{\"title\":_vm.getTitle}}),_c('v-divider'),_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-card',{staticClass:\"ma-2\",attrs:{\"loading\":_vm.loading}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('v-text-field',{staticClass:\"ma-2\",attrs:{\"label\":\"Name\",\"rules\":_vm.nonEmpty},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1),_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('v-select',{staticClass:\"ma-2\",attrs:{\"items\":_vm.types,\"label\":\"Type\"},model:{value:(_vm.type),callback:function ($$v) {_vm.type=$$v},expression:\"type\"}})],1),_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('v-select',{staticClass:\"ma-2\",attrs:{\"items\":_vm.usageTypes,\"label\":\"Usage Type\"},model:{value:(_vm.usageType),callback:function ($$v) {_vm.usageType=$$v},expression:\"usageType\"}})],1),_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('v-text-field',{staticClass:\"ma-2\",attrs:{\"label\":\"Icon File Name\",\"rules\":_vm.nonEmpty},model:{value:(_vm.iconFileName),callback:function ($$v) {_vm.iconFileName=$$v},expression:\"iconFileName\"}})],1),_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-text-field',{staticClass:\"ma-2\",attrs:{\"label\":\"Help File Path\"},model:{value:(_vm.helpFilePath),callback:function ($$v) {_vm.helpFilePath=$$v},expression:\"helpFilePath\"}})],1),_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-textarea',{staticClass:\"ma-2\",attrs:{\"label\":\"Description\",\"rules\":_vm.nonEmpty},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}})],1)],1)],1)],1),_c('v-card',{staticClass:\"ma-2\"},[_c('v-card-title',{staticClass:\"elevation-1\"},[_c('h5',[_vm._v(\"Commands\")]),_c('v-spacer'),(this.$auth.canManage)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"color\":\"secondary\",\"large\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.initiateAddCommand()}}},on),[_vm._v(\"add\")])]}}],null,false,2814401249)},[_c('span',[_vm._v(\"New Command\")])]):_vm._e()],1),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.getCommandHeaders,\"items\":_vm.commands,\"loading\":_vm.loading,\"hide-default-footer\":true},scopedSlots:_vm._u([{key:\"item.type\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-chip',{attrs:{\"color\":_vm.getColor(item.type),\"dark\":\"\"}},[_vm._v(_vm._s(_vm.getType(item.type)))])]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('RowActions',{attrs:{\"canDuplicate\":false,\"canEditVersions\":false,\"item\":item},on:{\"editItem\":_vm.initiateEditCommand,\"deleteItem\":_vm.deleteCommand}})]}}])})],1),_c('v-card',{staticClass:\"ma-2\"},[_c('v-card-title',{staticClass:\"elevation-1\"},[_c('h5',[_vm._v(\"Applications\")]),_c('v-spacer'),(this.$auth.canManage)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"color\":\"secondary\",\"large\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.initiateAddApplication()}}},on),[_vm._v(\"add\")])]}}],null,false,1978515132)},[_c('span',[_vm._v(\"New Application\")])]):_vm._e()],1),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.getApplicationHeaders,\"items\":_vm.applications,\"loading\":_vm.loading,\"hide-default-footer\":true},scopedSlots:_vm._u([{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('RowActions',{attrs:{\"canDuplicate\":false,\"canEditVersions\":false,\"item\":item},on:{\"editItem\":_vm.initiateEditApplication,\"deleteItem\":_vm.deleteApplication}})]}}])})],1),_c('ValidationErrorsCard',{attrs:{\"errors\":_vm.validationErrors}}),_c('v-divider'),_c('ActionsCard',{attrs:{\"isIdShown\":_vm.isValidEdit(),\"idString\":this.item.id,\"isErrorShown\":_vm.showError,\"errorMessage\":_vm.errorMessage,\"hasCancelOKButton\":true,\"isEnabled\":!_vm.loading},on:{\"cancelled\":_vm.cancelled,\"committed\":function($event){return _vm.commitChanges(_vm.item)}}})],1)],1),_c('ErrorDialog',{attrs:{\"isShown\":_vm.errorDialogIsShown,\"failure\":_vm.failure},on:{\"dialogClosed\":function($event){_vm.errorDialogIsShown = false}}}),_c('ApplicationDialog',{attrs:{\"isShown\":_vm.applicationDialogIsShown,\"isEdit\":_vm.applicationDialogIsEditing,\"item\":_vm.applicationToEdit},on:{\"dialogClosed\":function($event){_vm.applicationDialogIsShown = false},\"addApp\":_vm.addApplication,\"editApp\":_vm.editApplication}}),_c('CommandDialog',{attrs:{\"isShown\":_vm.commandDialogIsShown,\"isEdit\":_vm.commandDialogIsEditing,\"item\":_vm.commandToEdit},on:{\"dialogClosed\":function($event){_vm.commandDialogIsShown = false},\"addCom\":_vm.addCommand,\"editCom\":_vm.editCommand}})],1)],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\r\nimport { Component, Prop, Watch, Vue } from 'vue-property-decorator'\r\nimport App from '../App.vue'\r\nimport axios from 'axios'\r\nimport { ToolData } from '../models/ToolData'\r\nimport { ToolComData } from '../models/ToolComData'\r\nimport { ToolAppData } from '../models/ToolAppData'\r\nimport ErrorDialog from './ErrorDialog.vue'\r\nimport ApplicationDialog from './ApplicationDialog.vue'\r\nimport CommandDialog from './CommandDialog.vue'\r\nimport RowActions from './RowActions.vue'\r\nimport { EnumHelpers, ProductOrToolType, UsageType, CommandType } from '../helpers/EnumHelpers'\r\nimport { ErrorHandlingHelpers } from '../helpers/ErrorHandlingHelpers'\r\nimport { FailureResponseData } from '../models/FailureResponseData'\r\nimport ValidationErrorsCard from './ValidationErrorsCard.vue'\r\nimport ActionsCard from './ActionsCard.vue'\r\nimport TitleCard from './TitleCard.vue'\r\n\r\n@Component({\r\n components: {\r\n RowActions,\r\n ErrorDialog,\r\n ApplicationDialog,\r\n CommandDialog,\r\n ValidationErrorsCard,\r\n ActionsCard,\r\n TitleCard,\r\n },\r\n})\r\nexport default class ToolDialog extends App {\r\n private get getTitle() {\r\n if (this.isValidEdit()) {\r\n return 'Edit ' + this.item.name\r\n } else {\r\n return 'Create New Tool'\r\n }\r\n }\r\n private get getApplicationHeaders() {\r\n if (this.$auth.canManage) {\r\n return this.applicationHeaders\r\n } else {\r\n return this.applicationHeaders.filter((h) => h.text !== '\"Actions')\r\n }\r\n }\r\n private get getCommandHeaders() {\r\n if (this.$auth.canManage) {\r\n return this.commandHeaders\r\n } else {\r\n return this.commandHeaders.filter((h) => h.text !== 'Actions')\r\n }\r\n }\r\n @Prop({ default: false })\r\n public isShown!: boolean\r\n @Prop({ default: false })\r\n public isEdit!: boolean\r\n @Prop({ required: false })\r\n public item!: ToolData\r\n\r\n private privateIsShown: boolean = false\r\n private errorDialogIsShown: boolean = false\r\n private applicationDialogIsShown: boolean = false\r\n private commandDialogIsShown: boolean = false\r\n private applicationDialogIsEditing: boolean = false\r\n private commandDialogIsEditing: boolean = false\r\n private commandToEdit: ToolComData = new ToolComData('', '', '', '', '', '', '', CommandType.Other, '', '')\r\n private applicationToEdit: ToolAppData = new ToolAppData('', '', '', '')\r\n private failure: FailureResponseData = new FailureResponseData()\r\n private applicationHeaders = [\r\n { text: 'Name', value: 'name' },\r\n { text: 'Assembly Name', value: 'assemblyName' },\r\n { text: 'Class Name', value: 'className' },\r\n { text: 'Actions', value: 'actions' },\r\n ]\r\n private commandHeaders = [\r\n { text: 'Name', value: 'name' },\r\n { text: 'Type', value: 'type' },\r\n { text: 'Assembly Name', value: 'assemblyName' },\r\n { text: 'Class Name', value: 'className' },\r\n { text: 'Actions', value: 'actions' },\r\n ]\r\n private types: Array = EnumHelpers.GetProductOrToolTypes()\r\n private usageTypes: Array = EnumHelpers.GetUsageTypes()\r\n\r\n private name: string = ''\r\n private iconFileName: string = ''\r\n private type: string = ''\r\n private usageType: string = ''\r\n private description: string = ''\r\n private helpFilePath: string = ''\r\n private commands: Array = []\r\n private applications: Array = []\r\n\r\n @Watch('isShown')\r\n public onIsShownPropertyChanged(value: boolean, oldvalue: boolean) {\r\n this.privateIsShown = value\r\n }\r\n @Watch('privateIsShown')\r\n public onprivateIsShownPropertyChanged(value: boolean, oldvalue: boolean) {\r\n if (value) {\r\n this.fetchTool()\r\n } else {\r\n this.$emit('dialogClosed')\r\n this.loading = true\r\n }\r\n }\r\n\r\n public async commitChanges() {\r\n if (!this.checkForm()) {\r\n return\r\n }\r\n\r\n this.loading = true\r\n\r\n try {\r\n let resp\r\n const res: ToolData = new ToolData(\r\n this.name,\r\n this.iconFileName,\r\n EnumHelpers.GetProductOrToolTypeValue(this.type),\r\n EnumHelpers.GetUsageTypeValue(this.usageType),\r\n this.helpFilePath,\r\n this.description,\r\n '',\r\n this.applications,\r\n this.commands,\r\n []\r\n )\r\n\r\n let errorObject: FailureResponseData = new FailureResponseData()\r\n let errorsOccurred: boolean = false\r\n\r\n if (this.isValidEdit()) {\r\n resp = await axios.put(`Tools/${this.item.id}`, res).catch((error) => {\r\n errorsOccurred = true\r\n errorObject = ErrorHandlingHelpers.getFailureMessage(error)\r\n })\r\n } else {\r\n resp = await axios.post(`Tools`, res).catch((error) => {\r\n errorsOccurred = true\r\n errorObject = ErrorHandlingHelpers.getFailureMessage(error)\r\n })\r\n }\r\n\r\n if (errorsOccurred) {\r\n this.failure = errorObject\r\n this.errorDialogIsShown = true\r\n } else {\r\n if (this.isValidEdit()) {\r\n this.$emit('editTool', this.item, resp.data)\r\n } else {\r\n this.$emit('addTool', resp.data)\r\n }\r\n this.privateIsShown = false\r\n }\r\n } catch (e) {\r\n this.failure = new FailureResponseData(e.message)\r\n this.errorDialogIsShown = true\r\n }\r\n\r\n this.loading = false\r\n }\r\n\r\n public cancelled(item) {\r\n this.privateIsShown = false\r\n this.$emit('dialogCancelled')\r\n }\r\n\r\n private setDefaultData() {\r\n this.validationErrors = []\r\n this.name = ''\r\n this.iconFileName = ''\r\n this.type = 'Other'\r\n this.usageType = 'Other'\r\n this.description = ''\r\n this.helpFilePath = ''\r\n this.commands = []\r\n this.applications = []\r\n\r\n this.resetValidation()\r\n }\r\n private getType(type: number) {\r\n return EnumHelpers.GetCommandType(type)\r\n }\r\n\r\n private getColor(type: number) {\r\n return EnumHelpers.GetColor(type)\r\n }\r\n\r\n private isValidEdit() {\r\n return this.isEdit && this.item != null\r\n }\r\n\r\n private checkForm() {\r\n this.validationErrors = []\r\n\r\n const form: any = this.$refs.form\r\n if (form) {\r\n return form.validate()\r\n } else {\r\n if (!this.name) {\r\n this.validationErrors.push('Name is required.')\r\n }\r\n if (!this.type) {\r\n this.validationErrors.push('Type is required.')\r\n }\r\n if (!this.usageType) {\r\n this.validationErrors.push('Usage type is required.')\r\n }\r\n if (!this.iconFileName) {\r\n this.validationErrors.push('Icon file name is required.')\r\n }\r\n if (!this.description) {\r\n this.validationErrors.push('Description is required.')\r\n }\r\n\r\n return this.validationErrors.length === 0\r\n }\r\n }\r\n\r\n private initiateEditCommand(item) {\r\n this.commandToEdit = item\r\n this.commandDialogIsEditing = true\r\n this.commandDialogIsShown = true\r\n }\r\n private editCommand(oldCommand, newCommand) {\r\n oldCommand.name = newCommand.name\r\n oldCommand.assemblyName = newCommand.assemblyName\r\n oldCommand.className = newCommand.className\r\n oldCommand.shortName = newCommand.shortName\r\n oldCommand.availabilityClassName = newCommand.availabilityClassName\r\n oldCommand.toolTipText = newCommand.toolTipText\r\n oldCommand.type = newCommand.type\r\n oldCommand.largeIconFileName = newCommand.largeIconFileName\r\n oldCommand.smallIconFileName = newCommand.smallIconFileName\r\n }\r\n private initiateEditApplication(item) {\r\n this.applicationToEdit = item\r\n this.applicationDialogIsEditing = true\r\n this.applicationDialogIsShown = true\r\n }\r\n private editApplication(oldApplication, newApplication) {\r\n oldApplication.name = newApplication.name\r\n oldApplication.assemblyName = newApplication.assemblyName\r\n oldApplication.className = newApplication.className\r\n }\r\n private deleteCommand(item) {\r\n this.commands = this.commands.filter((com) => com !== item)\r\n }\r\n private deleteApplication(item) {\r\n this.applications = this.applications.filter((app) => app !== item)\r\n }\r\n private initiateAddCommand() {\r\n this.commandDialogIsEditing = false\r\n this.commandDialogIsShown = true\r\n }\r\n private addCommand(item) {\r\n this.commands.push(item)\r\n }\r\n\r\n private initiateAddApplication() {\r\n this.applicationDialogIsEditing = false\r\n this.applicationDialogIsShown = true\r\n }\r\n private addApplication(item) {\r\n this.applications.push(item)\r\n }\r\n\r\n private async fetchTool() {\r\n try {\r\n this.setDefaultData()\r\n if (this.isValidEdit()) {\r\n const resp = await axios.get(`Tools/${this.item.id}`)\r\n\r\n this.name = resp.data.name\r\n this.iconFileName = resp.data.iconFileName\r\n this.type = EnumHelpers.GetProductOrToolType(resp.data.type, false)\r\n this.helpFilePath = resp.data.helpFilePath\r\n this.usageType = EnumHelpers.GetUsageType(resp.data.usageType, false)\r\n this.description = resp.data.description\r\n this.applications = resp.data.applications\r\n this.commands = resp.data.commands\r\n }\r\n } catch (e) {\r\n this.showError = true\r\n this.errorMessage = `Error while loading tool data: ${e.message}.`\r\n }\r\n this.loading = false\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ToolDialog.vue?vue&type=template&id=334461c9&\"\nimport script from \"./ToolDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ToolDialog.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSlideYTransition } from 'vuetify/lib/components/transitions';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCard,VCardTitle,VChip,VCol,VContainer,VDataTable,VDialog,VDivider,VForm,VIcon,VRow,VSelect,VSlideYTransition,VSpacer,VTextField,VTextarea,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"600\"},model:{value:(_vm.privateIsShown),callback:function ($$v) {_vm.privateIsShown=$$v},expression:\"privateIsShown\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-slide-y-transition',{attrs:{\"mode\":\"out-in\"}},[_c('v-card',[_c('TitleCard',{attrs:{\"title\":_vm.getTitle}}),_c('v-divider'),_c('v-card',{staticClass:\"ma-2\"},[_c('v-card-title',{staticClass:\"elevation-1\"},[_c('h5',[_vm._v(\"Versions\")]),_c('v-spacer'),(this.$auth.canManage)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"color\":\"secondary\",\"large\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.initiateAddVersion()}}},on),[_vm._v(\"add\")])]}}],null,false,2345806876)},[_c('span',[_vm._v(\"New Version\")])]):_vm._e()],1),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.getHeaders,\"items\":_vm.versions,\"loading\":_vm.loading},scopedSlots:_vm._u([{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('RowActions',{attrs:{\"canDuplicate\":false,\"canEditVersions\":false,\"item\":item},on:{\"editItem\":_vm.initiateEditVersion,\"deleteItem\":_vm.deleteVersion}})]}}])})],1),_c('v-divider'),_c('ActionsCard',{attrs:{\"isIdShown\":true,\"idString\":this.item.id,\"isErrorShown\":_vm.showError,\"errorMessage\":_vm.errorMessage,\"hasCancelOKButton\":false,\"isEnabled\":!_vm.loading},on:{\"cancelled\":_vm.cancelled}})],1)],1),_c('ErrorDialog',{attrs:{\"isShown\":_vm.errorDialogIsShown,\"failure\":_vm.failure},on:{\"dialogClosed\":function($event){_vm.errorDialogIsShown = false}}}),_c('ToolVersionDialog',{attrs:{\"isShown\":_vm.versionDialogIsShown,\"isEdit\":_vm.versionDialogIsEditing,\"item\":_vm.versionToEdit,\"ownerId\":_vm.item.id},on:{\"dialogClosed\":function($event){_vm.versionDialogIsShown = false},\"addVersion\":_vm.addVersion,\"editVersion\":_vm.editVersion}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"1024\"},model:{value:(_vm.privateIsShown),callback:function ($$v) {_vm.privateIsShown=$$v},expression:\"privateIsShown\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-slide-y-transition',{attrs:{\"mode\":\"out-in\"}},[_c('v-card',[_c('TitleCard',{attrs:{\"title\":_vm.getTitle}}),_c('v-divider'),_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-card',{staticClass:\"ma-2\",attrs:{\"loading\":_vm.loading}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-text-field',{staticClass:\"ma-2\",attrs:{\"label\":\"Version\",\"rules\":_vm.nonEmpty},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1),_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('v-text-field',{staticClass:\"ma-2\",attrs:{\"label\":\"Min Supported Version\",\"rules\":_vm.nonEmpty},model:{value:(_vm.minSupportedVersion),callback:function ($$v) {_vm.minSupportedVersion=$$v},expression:\"minSupportedVersion\"}})],1),_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('v-text-field',{staticClass:\"ma-2\",attrs:{\"label\":\"Max Supported Version\",\"rules\":_vm.nonEmpty},model:{value:(_vm.maxSupportedVersion),callback:function ($$v) {_vm.maxSupportedVersion=$$v},expression:\"maxSupportedVersion\"}})],1),_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":false,\"return-value\":_vm.publishedUTC,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"min-width\":\"290px\"},on:{\"update:returnValue\":function($event){_vm.publishedUTC=$event},\"update:return-value\":function($event){_vm.publishedUTC=$event}},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"label\":\"Published Date\",\"prepend-icon\":\"event\",\"readonly\":\"\"},model:{value:(_vm.publishedUTC),callback:function ($$v) {_vm.publishedUTC=$$v},expression:\"publishedUTC\"}},on))]}}]),model:{value:(_vm.dateMenuShown),callback:function ($$v) {_vm.dateMenuShown=$$v},expression:\"dateMenuShown\"}},[_c('v-date-picker',{attrs:{\"no-title\":\"\",\"scrollable\":\"\"},model:{value:(_vm.publishedUTC),callback:function ($$v) {_vm.publishedUTC=$$v},expression:\"publishedUTC\"}},[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"secondary\"},on:{\"click\":function($event){_vm.dateMenuShown = false}}},[_vm._v(\"Cancel\")]),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"secondary\"},on:{\"click\":function($event){return _vm.$refs.menu.save(_vm.publishedUTC)}}},[_vm._v(\"OK\")])],1)],1)],1)],1)],1)],1),_c('ValidationErrorsCard',{attrs:{\"errors\":_vm.validationErrors}}),_c('v-divider'),_c('ActionsCard',{attrs:{\"isIdShown\":_vm.isValidEdit(),\"idString\":this.item.id,\"isErrorShown\":_vm.showError,\"errorMessage\":_vm.errorMessage,\"hasCancelOKButton\":true,\"isEnabled\":!_vm.loading},on:{\"cancelled\":_vm.cancelled,\"committed\":function($event){return _vm.commitChanges(_vm.item)}}})],1)],1),_c('ErrorDialog',{attrs:{\"isShown\":_vm.errorDialogIsShown,\"failure\":_vm.failure},on:{\"dialogClosed\":function($event){_vm.errorDialogIsShown = false}}})],1)],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\r\nimport { Component, Prop, Watch, Vue } from \"vue-property-decorator\";\r\nimport App from \"../App.vue\";\r\nimport axios from \"axios\";\r\nimport { ToolVersionData } from \"../models/ToolVersionData\";\r\nimport ErrorDialog from \"./ErrorDialog.vue\";\r\nimport RowActions from \"./RowActions.vue\";\r\nimport ChangesLogTable from \"./ChangesLogTable.vue\";\r\nimport { EnumHelpers } from \"../helpers/EnumHelpers\";\r\nimport { DateHelpers } from \"../helpers/DateHelpers\";\r\nimport { ErrorHandlingHelpers } from \"../helpers/ErrorHandlingHelpers\";\r\nimport { FailureResponseData } from \"../models/FailureResponseData\";\r\nimport { ChangeLogEntryData } from \"../models/ChangeLogEntryData\";\r\nimport ValidationErrorsCard from \"./ValidationErrorsCard.vue\";\r\nimport ActionsCard from \"./ActionsCard.vue\";\r\nimport TitleCard from \"./TitleCard.vue\";\r\n\r\n@Component({\r\n components: {\r\n RowActions,\r\n ErrorDialog,\r\n ChangesLogTable,\r\n ValidationErrorsCard,\r\n ActionsCard,\r\n TitleCard,\r\n },\r\n})\r\nexport default class ToolVersionDialog extends App {\r\n get getTitle() {\r\n if (this.isValidEdit()) {\r\n return \"Edit Tool Version \" + this.item.name;\r\n } else {\r\n return \"Create New Tool Version\";\r\n }\r\n }\r\n @Prop({ default: false })\r\n public isShown!: boolean;\r\n @Prop({ default: false })\r\n public isEdit!: boolean;\r\n @Prop({ required: false })\r\n public item!: ToolVersionData;\r\n @Prop({ required: true })\r\n public ownerId!: string;\r\n\r\n private privateIsShown: boolean = false;\r\n private errorDialogIsShown: boolean = false;\r\n private dateMenuShown: boolean = false;\r\n private failure: FailureResponseData = new FailureResponseData();\r\n\r\n private name: string = \"\";\r\n private minSupportedVersion: string = \"\";\r\n private maxSupportedVersion: string = \"\";\r\n private publishedUTC: string = \"\";\r\n private changeLog: ChangeLogEntryData[] = [];\r\n @Watch(\"isShown\")\r\n public onIsShownPropertyChanged(value: boolean, oldvalue: boolean) {\r\n this.privateIsShown = value;\r\n }\r\n @Watch(\"privateIsShown\")\r\n public onprivateIsShownPropertyChanged(value: boolean, oldvalue: boolean) {\r\n if (value) {\r\n this.fetchToolVersion();\r\n } else {\r\n this.$emit(\"dialogClosed\");\r\n this.loading = true;\r\n }\r\n }\r\n\r\n public async commitChanges() {\r\n if (!this.checkForm()) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n\r\n try {\r\n let resp;\r\n const res: ToolVersionData = new ToolVersionData(\r\n this.name,\r\n this.minSupportedVersion,\r\n this.maxSupportedVersion,\r\n DateHelpers.convertToDate(this.publishedUTC),\r\n this.changeLog,\r\n \"\",\r\n this.ownerId\r\n );\r\n\r\n let errorObject: FailureResponseData = new FailureResponseData();\r\n let errorsOccurred: boolean = false;\r\n\r\n if (this.isValidEdit()) {\r\n resp = await axios\r\n .put(`ToolVersions/${this.item.id}`, res)\r\n .catch((error) => {\r\n errorsOccurred = true;\r\n errorObject = ErrorHandlingHelpers.getFailureMessage(error);\r\n });\r\n } else {\r\n resp = await axios\r\n .post(`ToolVersions`, res)\r\n .catch((error) => {\r\n errorsOccurred = true;\r\n errorObject = ErrorHandlingHelpers.getFailureMessage(error);\r\n });\r\n }\r\n\r\n if (errorsOccurred) {\r\n this.failure = errorObject;\r\n this.errorDialogIsShown = true;\r\n } else {\r\n if (this.isValidEdit()) {\r\n this.$emit(\"editVersion\", this.item, resp.data);\r\n } else {\r\n this.$emit(\"addVersion\", resp.data);\r\n }\r\n this.privateIsShown = false;\r\n }\r\n } catch (e) {\r\n this.failure = new FailureResponseData(e.message);\r\n this.errorDialogIsShown = true;\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n public cancelled(item) {\r\n this.privateIsShown = false;\r\n this.$emit(\"dialogCancelled\");\r\n }\r\n\r\n private setDefaultData() {\r\n this.validationErrors = [];\r\n this.name = \"\";\r\n this.minSupportedVersion = (new Date().getUTCFullYear() - 3).toString();\r\n this.maxSupportedVersion = (new Date().getUTCFullYear() + 1).toString();\r\n this.publishedUTC = DateHelpers.getTodaysDate();\r\n this.changeLog = [];\r\n\r\n this.resetValidation();\r\n }\r\n\r\n private isValidEdit() {\r\n return this.isEdit && this.item != null;\r\n }\r\n\r\n private checkForm() {\r\n this.validationErrors = [];\r\n const form: any = this.$refs.form;\r\n if (form) {\r\n if (this.changeLog.length === 0) {\r\n this.validationErrors.push(\r\n \"At least one change log entry is required.\"\r\n );\r\n }\r\n return form.validate();\r\n } else {\r\n if (!this.name) {\r\n this.validationErrors.push(\"Name is required.\");\r\n }\r\n if (!this.minSupportedVersion) {\r\n this.validationErrors.push(\"Min supported version is required.\");\r\n }\r\n if (!this.maxSupportedVersion) {\r\n this.validationErrors.push(\"Max supported version is required.\");\r\n }\r\n if (!this.publishedUTC) {\r\n this.validationErrors.push(\"Published date is required.\");\r\n }\r\n\r\n return this.validationErrors.length === 0;\r\n }\r\n }\r\n\r\n private logEntryAdded(logItem) {\r\n this.changeLog.push(logItem);\r\n }\r\n\r\n private logEntryEdited(oldLogItem, newLogItem) {\r\n oldLogItem.type = newLogItem.type;\r\n oldLogItem.description = newLogItem.description;\r\n oldLogItem.toolId = newLogItem.toolId;\r\n }\r\n\r\n private logEntryRemoved(logItem) {\r\n this.changeLog = this.changeLog.filter((cl) => cl !== logItem);\r\n }\r\n\r\n private async fetchToolVersion() {\r\n try {\r\n this.setDefaultData();\r\n if (this.isValidEdit()) {\r\n const resp = await axios.get(\r\n `ToolVersions/${this.item.id}`\r\n );\r\n this.name = resp.data.name;\r\n this.minSupportedVersion = resp.data.minSupportedVersion;\r\n this.maxSupportedVersion = resp.data.maxSupportedVersion;\r\n this.publishedUTC = DateHelpers.convertToString(\r\n new Date(resp.data.publishedUTC)\r\n );\r\n this.changeLog = resp.data.changeLog;\r\n }\r\n } catch (e) {\r\n this.showError = true;\r\n this.errorMessage = `Error while loading tool version data: ${\r\n e.message\r\n }.`;\r\n }\r\n this.loading = false;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolVersionDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolVersionDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ToolVersionDialog.vue?vue&type=template&id=ae5fa77e&\"\nimport script from \"./ToolVersionDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ToolVersionDialog.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSlideYTransition } from 'vuetify/lib/components/transitions';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCol,VContainer,VDatePicker,VDialog,VDivider,VForm,VMenu,VRow,VSlideYTransition,VSpacer,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 { Component, Prop, Watch, Vue } from 'vue-property-decorator'\r\nimport axios from 'axios'\r\nimport { ToolData } from '../models/ToolData'\r\nimport { ToolVersionData } from '../models/ToolVersionData'\r\nimport ErrorDialog from './ErrorDialog.vue'\r\nimport ToolVersionDialog from './ToolVersionDialog.vue'\r\nimport RowActions from './RowActions.vue'\r\nimport { EnumHelpers, ProductOrToolType, UsageType } from '../helpers/EnumHelpers'\r\nimport { ErrorHandlingHelpers } from '../helpers/ErrorHandlingHelpers'\r\nimport { FailureResponseData } from '../models/FailureResponseData'\r\nimport App from '../App.vue'\r\nimport ActionsCard from './ActionsCard.vue'\r\nimport TitleCard from './TitleCard.vue'\r\n\r\n@Component({\r\n components: { RowActions, ErrorDialog, ToolVersionDialog, ActionsCard, TitleCard },\r\n})\r\nexport default class ToolVersionsDialog extends App {\r\n get getTitle() {\r\n return this.item.name + ' Versions'\r\n }\r\n\r\n get getHeaders() {\r\n if (this.$auth.canManage) {\r\n return this.headers\r\n } else {\r\n return this.headers.filter((h) => h.text !== 'Actions')\r\n }\r\n }\r\n @Prop({ default: false })\r\n public isShown!: boolean\r\n @Prop({ required: true })\r\n public item!: ToolData\r\n\r\n private privateIsShown: boolean = false\r\n private errorDialogIsShown: boolean = false\r\n private versionDialogIsShown: boolean = false\r\n private versionDialogIsEditing: boolean = false\r\n private versionToEdit: ToolVersionData = new ToolVersionData('', '', '', new Date(), [], '', '')\r\n private failure: FailureResponseData = new FailureResponseData()\r\n private headers = [{ text: 'Version', value: 'name' }, { text: 'Actions', value: 'actions' }]\r\n\r\n private versions: ToolVersionData[] = []\r\n @Watch('isShown')\r\n public onIsShownPropertyChanged(value: boolean, oldvalue: boolean) {\r\n this.privateIsShown = value\r\n }\r\n @Watch('privateIsShown')\r\n public onprivateIsShownPropertyChanged(value: boolean, oldvalue: boolean) {\r\n if (value) {\r\n this.fetchTool()\r\n } else {\r\n this.$emit('dialogClosed')\r\n this.loading = true\r\n }\r\n }\r\n\r\n public cancelled(item) {\r\n this.privateIsShown = false\r\n this.$emit('dialogCancelled')\r\n }\r\n\r\n private initiateEditVersion(item) {\r\n this.versionToEdit = item\r\n this.versionDialogIsEditing = true\r\n this.versionDialogIsShown = true\r\n }\r\n private editVersion(oldVersion, newVersion) {\r\n oldVersion.name = newVersion.name\r\n }\r\n private async deleteVersion(item) {\r\n try {\r\n let errorsOccurred: boolean = false\r\n let errorObject: FailureResponseData = new FailureResponseData()\r\n await axios.delete(`ToolVersions/${item.id}`).catch((error) => {\r\n errorsOccurred = true\r\n errorObject = ErrorHandlingHelpers.getFailureMessage(error)\r\n })\r\n\r\n if (errorsOccurred) {\r\n this.failure = errorObject\r\n this.errorDialogIsShown = true\r\n } else {\r\n this.versions = this.versions.filter((v) => v !== item)\r\n }\r\n } catch (e) {\r\n this.failure = new FailureResponseData(e.message)\r\n this.errorDialogIsShown = true\r\n }\r\n }\r\n\r\n private initiateAddVersion() {\r\n this.versionDialogIsEditing = false\r\n this.versionDialogIsShown = true\r\n }\r\n private addVersion(item) {\r\n this.versions.splice(0, 0, item)\r\n }\r\n\r\n private async fetchTool() {\r\n try {\r\n this.versions = []\r\n\r\n const resp = await axios.get(`Tools/${this.item.id}`)\r\n\r\n this.versions = resp.data.versions\r\n } catch (e) {\r\n this.showError = true\r\n this.errorMessage = `Error while loading tool versions: ${e.message}.`\r\n }\r\n this.loading = false\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolVersionsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolVersionsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ToolVersionsDialog.vue?vue&type=template&id=3d4218f6&\"\nimport script from \"./ToolVersionsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ToolVersionsDialog.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSlideYTransition } from 'vuetify/lib/components/transitions';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCard,VCardTitle,VContainer,VDataTable,VDialog,VDivider,VIcon,VSlideYTransition,VSpacer,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 { Component, Vue } from 'vue-property-decorator'\r\nimport App from '../App.vue'\r\nimport axios from 'axios'\r\nimport { ToolDataList } from '../models/ToolDataList'\r\nimport { ToolData } from '../models/ToolData'\r\nimport { EnumHelpers, ProductOrToolType, UsageType } from '../helpers/EnumHelpers'\r\nimport RowActions from '../components/RowActions.vue'\r\nimport ToolDialog from '../components/ToolDialog.vue'\r\nimport ToolVersionsDialog from '../components/ToolVersionsDialog.vue'\r\nimport ErrorDialog from '../components/ErrorDialog.vue'\r\nimport { FailureResponseData } from '../models/FailureResponseData'\r\nimport { ErrorHandlingHelpers } from '@/helpers/ErrorHandlingHelpers'\r\n\r\n@Component({\r\n components: { RowActions, ToolDialog, ToolVersionsDialog, ErrorDialog },\r\n})\r\nexport default class Tools extends App {\r\n private errorDialogIsShown: boolean = false\r\n private failure: FailureResponseData = new FailureResponseData()\r\n private search: string = ''\r\n private items: Array = []\r\n private headers = [\r\n { text: 'Name', value: 'name' },\r\n { text: 'Type', value: 'type' },\r\n { text: 'Usage Type', value: 'usageType' },\r\n { text: 'Actions', value: 'actions' },\r\n ]\r\n\r\n private toolDialogShown: boolean = false\r\n private toolDialogIsEditing: boolean = false\r\n private toolVersionsDialogShown: boolean = false\r\n private itemToBeEdited: ToolData = new ToolData('', '', ProductOrToolType.Other, UsageType.Other, '', '', '', [], [], [])\r\n\r\n public get getHeaders() {\r\n if (this.$auth.canManage) {\r\n return this.headers\r\n } else {\r\n return this.headers.filter((h) => h.text !== 'Actions')\r\n }\r\n }\r\n\r\n private getType(type: number) {\r\n return EnumHelpers.GetProductOrToolType(type)\r\n }\r\n\r\n private getUsageType(type: number) {\r\n return EnumHelpers.GetUsageType(type)\r\n }\r\n\r\n private getColor(type: number) {\r\n return EnumHelpers.GetColor(type)\r\n }\r\n\r\n private async deleteTool(item) {\r\n try {\r\n let errorsOccurred: boolean = false\r\n let errorObject: FailureResponseData = new FailureResponseData()\r\n await axios.delete(`Tools/${item.id}`).catch((error) => {\r\n errorsOccurred = true\r\n errorObject = ErrorHandlingHelpers.getFailureMessage(error)\r\n })\r\n\r\n if (errorsOccurred) {\r\n this.failure = errorObject\r\n this.errorDialogIsShown = true\r\n } else {\r\n this.items = this.items.filter((i) => i !== item)\r\n }\r\n } catch (e) {\r\n this.failure = new FailureResponseData(e.message)\r\n this.errorDialogIsShown = true\r\n }\r\n }\r\n\r\n private addTool(newToolData: ToolData) {\r\n this.items.push(newToolData)\r\n this.items = this.items.sort((t1, t2) => {\r\n if (t1.name < t2.name) {\r\n return -1\r\n } else if (t1.name > t2.name) {\r\n return 1\r\n } else {\r\n return 0\r\n }\r\n })\r\n }\r\n private editTool(oldToolData: ToolData, newToolData: ToolData) {\r\n oldToolData.name = newToolData.name\r\n oldToolData.type = newToolData.type\r\n oldToolData.usageType = newToolData.usageType\r\n }\r\n\r\n private initiateEditTool(item) {\r\n this.toolDialogIsEditing = true\r\n this.itemToBeEdited = item\r\n this.toolDialogShown = true\r\n }\r\n private initiateEditToolVersions(item) {\r\n this.itemToBeEdited = item\r\n this.toolVersionsDialogShown = true\r\n }\r\n\r\n private initiateAddTool(item) {\r\n this.toolDialogIsEditing = false\r\n this.toolDialogShown = true\r\n }\r\n\r\n private async created() {\r\n await this.fetchTools()\r\n }\r\n\r\n private async fetchTools() {\r\n try {\r\n // TODO: Use Axios to make a call to the API\r\n const resp = await axios.get('Tools', {\r\n params: {\r\n count: 1000,\r\n skip: 0,\r\n },\r\n })\r\n this.items = resp.data.items\r\n } catch (e) {\r\n this.showError = true\r\n this.errorMessage = `Error while loading tools: ${e.message}.`\r\n }\r\n this.loading = false\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tools.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tools.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Tools.vue?vue&type=template&id=3ac26fca&\"\nimport script from \"./Tools.vue?vue&type=script&lang=ts&\"\nexport * from \"./Tools.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSlideYTransition } from 'vuetify/lib/components/transitions';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAlert,VCard,VCardTitle,VChip,VCol,VContainer,VDataTable,VIcon,VProgressLinear,VRow,VSlideYTransition,VSpacer,VTextField,VTooltip})\n"],"sourceRoot":""}