diff --git a/src/dispatch/static/dispatch/src/incident/EditSheet.vue b/src/dispatch/static/dispatch/src/incident/EditSheet.vue index e1129d16372e..47532bf00b41 100644 --- a/src/dispatch/static/dispatch/src/incident/EditSheet.vue +++ b/src/dispatch/static/dispatch/src/incident/EditSheet.vue @@ -138,8 +138,11 @@ export default { $route: { immediate: true, handler(newVal) { - if (newVal.meta && newVal.meta.showTimeline) { + if (!newVal.meta) return + if (newVal.meta.showTimeline) { this.tab = 3 + } else if (newVal.meta.showForms) { + this.tab = 6 } }, }, diff --git a/src/dispatch/static/dispatch/src/incident/FormsTab.vue b/src/dispatch/static/dispatch/src/incident/FormsTab.vue index ab1e0b3215d2..0e521be618e5 100644 --- a/src/dispatch/static/dispatch/src/incident/FormsTab.vue +++ b/src/dispatch/static/dispatch/src/incident/FormsTab.vue @@ -111,7 +111,7 @@ export default { "project_id", "table.options.filters", ]), - ...mapFields("incident", { selected_incident: "selected" }), + ...mapFields("incident", { selected_incident: "selected", project: "selected.project" }), }, methods: { ...mapActions("forms", ["getAll", "createShow", "editShow", "showDeleteDialog"]), @@ -123,17 +123,23 @@ export default { }, } }, + getFormsData() { + if (this.selected_incident) { + this.incident_id = this.selected_incident.id + } + if (this.project) { + this.project_id = this.project.id + } + this.getAll() + }, }, created() { - this.project_id = this.selected_incident.project.id - this.incident_id = this.selected_incident.id - - this.getAll() + this.getFormsData() this.$watch( - (vm) => [vm.project, vm.selected_incident], + (vm) => [vm.project, vm.selected_incident, vm.project], () => { - this.getAll() + this.getFormsData() } ) }, diff --git a/src/dispatch/static/dispatch/src/router/config.js b/src/dispatch/static/dispatch/src/router/config.js index 60739bcf70e3..17758925e111 100644 --- a/src/dispatch/static/dispatch/src/router/config.js +++ b/src/dispatch/static/dispatch/src/router/config.js @@ -169,6 +169,16 @@ export const protectedRoute = [ showTimeline: true, }, }, + { + path: "/:organization/incidents/:name/forms", + name: "IncidentTableEditForms", + component: () => import("@/incident/EditSheet.vue"), + props: true, + meta: { + showEditSheet: true, + showForms: true, + }, + }, ], }, ],