@@ -12,6 +12,7 @@ import JiraIssuesFields from './jira_issues_fields.vue';
12
12
import TriggerFields from ' ./trigger_fields.vue' ;
13
13
import DynamicField from ' ./dynamic_field.vue' ;
14
14
import ConfirmationModal from ' ./confirmation_modal.vue' ;
15
+ import ResetConfirmationModal from ' ./reset_confirmation_modal.vue' ;
15
16
16
17
export default {
17
18
name: ' IntegrationForm' ,
@@ -23,15 +24,16 @@ export default {
23
24
TriggerFields,
24
25
DynamicField,
25
26
ConfirmationModal,
27
+ ResetConfirmationModal,
26
28
GlButton,
27
29
},
28
30
directives: {
29
31
' gl-modal' : GlModalDirective,
30
32
},
31
33
mixins: [glFeatureFlagsMixin ()],
32
34
computed: {
33
- ... mapGetters ([' currentKey' , ' propsSource' , ' isSavingOrTesting ' ]),
34
- ... mapState ([' defaultState' , ' override' , ' isSaving' , ' isTesting' ]),
35
+ ... mapGetters ([' currentKey' , ' propsSource' , ' isDisabled ' ]),
36
+ ... mapState ([' defaultState' , ' override' , ' isSaving' , ' isTesting' , ' isResetting ' ]),
35
37
isEditable () {
36
38
return this .propsSource .editable ;
37
39
},
@@ -47,9 +49,12 @@ export default {
47
49
showJiraIssuesFields () {
48
50
return this .isJira && this .glFeatures .jiraIssuesIntegration ;
49
51
},
52
+ showReset () {
53
+ return this .isInstanceOrGroupLevel && this .propsSource .resetPath ;
54
+ },
50
55
},
51
56
methods: {
52
- ... mapActions ([' setOverride' , ' setIsSaving' , ' setIsTesting' ]),
57
+ ... mapActions ([' setOverride' , ' setIsSaving' , ' setIsTesting' , ' setIsResetting ' ]),
53
58
onSaveClick () {
54
59
this .setIsSaving (true );
55
60
eventHub .$emit (' saveIntegration' );
@@ -58,6 +63,7 @@ export default {
58
63
this .setIsTesting (true );
59
64
eventHub .$emit (' testIntegration' );
60
65
},
66
+ onResetClick () {},
61
67
},
62
68
};
63
69
</script >
@@ -100,7 +106,7 @@ export default {
100
106
category =" primary"
101
107
variant =" success"
102
108
:loading =" isSaving"
103
- :disabled =" isSavingOrTesting "
109
+ :disabled =" isDisabled "
104
110
data-qa-selector =" save_changes_button"
105
111
>
106
112
{{ __('Save changes') }}
@@ -113,7 +119,7 @@ export default {
113
119
variant =" success"
114
120
type =" submit"
115
121
:loading =" isSaving"
116
- :disabled =" isSavingOrTesting "
122
+ :disabled =" isDisabled "
117
123
data-qa-selector =" save_changes_button"
118
124
@click.prevent =" onSaveClick"
119
125
>
@@ -123,13 +129,27 @@ export default {
123
129
<gl-button
124
130
v-if =" propsSource.canTest"
125
131
:loading =" isTesting"
126
- :disabled =" isSavingOrTesting "
132
+ :disabled =" isDisabled "
127
133
:href =" propsSource.testPath"
128
134
@click.prevent =" onTestClick"
129
135
>
130
136
{{ __('Test settings') }}
131
137
</gl-button >
132
138
139
+ <template v-if =" showReset " >
140
+ <gl-button
141
+ v-gl-modal.confirmResetIntegration
142
+ category =" secondary"
143
+ variant =" default"
144
+ :loading =" isResetting"
145
+ :disabled =" isDisabled"
146
+ data-testid =" reset-button"
147
+ >
148
+ {{ __('Reset') }}
149
+ </gl-button >
150
+ <reset-confirmation-modal @reset =" onResetClick" />
151
+ </template >
152
+
133
153
<gl-button class =" btn-cancel" :href =" propsSource.cancelPath" >{{ __('Cancel') }}</gl-button >
134
154
</div >
135
155
</div >
0 commit comments