1
1
<template >
2
- <div v-if = " resource " :resource-id =" resourceId" >
3
- <div v-for =" panel in resource. panels" :key =" panel.name" >
2
+ <div :resource-id =" resourceId" >
3
+ <div v-for =" panel in panels" :key =" panel.name" >
4
4
<panel >
5
5
<template #heading >
6
- {{ $t('avo.edit_item', { item: resourceNameSingular.toLowerCase() }) | upperFirst() }}
6
+ {{panel.name }}
7
7
</template >
8
8
9
9
<template #tools >
@@ -48,6 +48,7 @@ import HasForms from '@/js/mixins/has-forms'
48
48
import HasUniqueKey from ' @/js/mixins/has-unique-key'
49
49
import LoadsResource from ' @/js/mixins/loads-resource'
50
50
import hasUpperFirstFilter from ' @/js/mixins/has-upper-first-filter'
51
+ import upperFirst from ' lodash/upperFirst'
51
52
52
53
export default {
53
54
mixins: [HasForms, LoadsResource, DealsWithResourceLabels, HasUniqueKey, hasUpperFirstFilter],
@@ -62,12 +63,17 @@ export default {
62
63
' viaResourceId' ,
63
64
],
64
65
computed: {
66
+ panels () {
67
+ if (! this .resource ) return [{ name: upperFirst (this .$t (' avo.edit_item' , { item: this .resourceNameFromURL })) }]
68
+
69
+ return this .resource .panels
70
+ },
65
71
cancelActionParams () {
66
72
const action = {
67
73
name: ' show' ,
68
74
params: {
69
75
resourceName: this .resourceName ,
70
- resourceId: this .resource . id ,
76
+ resourceId: this .resourceId ,
71
77
},
72
78
}
73
79
@@ -79,6 +85,8 @@ export default {
79
85
return action
80
86
},
81
87
canUpdate () {
88
+ if (! this .resource ) return false
89
+
82
90
return this .resource .authorization .update
83
91
},
84
92
},
0 commit comments