16
16
title =" Project folder"
17
17
>
18
18
<VueInput
19
- v-model =" folder"
19
+ v-model =" formData. folder"
20
20
placeholder =" my-app"
21
21
icon-left =" folder"
22
22
class =" big"
32
32
title =" Package manager"
33
33
>
34
34
<VueSelect
35
- v-model =" packageManager"
35
+ v-model =" formData. packageManager"
36
36
>
37
37
<VueSelectButton
38
38
:value =" undefined"
53
53
title =" Additional options"
54
54
>
55
55
<VueSwitch
56
- v-model =" force"
56
+ v-model =" formData. force"
57
57
class =" extend-left"
58
58
>
59
59
Overwrite target directory if it exists
64
64
65
65
<div class =" actions-bar" >
66
66
<VueButton
67
- :to =" { name: 'project-select' }"
68
67
icon-left =" close"
69
68
label =" Cancel"
70
69
class =" big"
70
+ @click =" showCancel = true"
71
71
/>
72
72
73
73
<VueButton
100
100
v-for =" preset of projectCreation.presets"
101
101
:key =" preset.id"
102
102
:preset =" preset"
103
- :selected =" preset.id === selectedPreset "
103
+ :selected =" formData.selectedPreset === preset.id "
104
104
@click.native =" selectPreset(preset.id)"
105
105
/>
106
106
</template >
107
107
108
108
<ProjectPresetItem
109
109
:preset =" remotePresetInfo"
110
- :selected =" selectedPreset === 'remote'"
110
+ :selected =" formData. selectedPreset === 'remote'"
111
111
@click.native =" selectPreset('remote')"
112
112
/>
113
113
</div >
124
124
icon-right =" arrow_forward"
125
125
label =" Next"
126
126
class =" big primary"
127
- :disabled =" !selectedPreset "
127
+ :disabled =" !presetValid "
128
128
@click =" next()"
129
129
/>
130
130
</div >
219
219
<StatusBar cwd />
220
220
221
221
<VueModal
222
- v-if =" remotePreset.openModal "
222
+ v-if =" showRemotePreset "
223
223
title =" Configure Remote preset"
224
224
class =" medium"
225
- @close =" remotePreset.openModal = false"
225
+ @close =" showRemotePreset = false"
226
226
>
227
227
<div class =" default-body" >
228
228
<div class =" vue-empty" >
231
231
</div >
232
232
</div >
233
233
</VueModal >
234
+
235
+ <VueModal
236
+ v-if =" showCancel"
237
+ title =" Cancel and reset project creation"
238
+ class =" small"
239
+ @close =" showCancel = false"
240
+ >
241
+ <div class =" default-body" >
242
+ Are you sure you want to cancel the project creation?
243
+ </div >
244
+
245
+ <div slot =" footer" class =" actions end" >
246
+ <VueButton
247
+ label =" Go back"
248
+ @click =" showCancel = false"
249
+ />
250
+
251
+ <VueButton
252
+ :to =" { name: 'project-select' }"
253
+ label =" Clear project"
254
+ icon-left =" delete_forever"
255
+ class =" danger"
256
+ @click =" cancel()"
257
+ />
258
+ </div >
259
+ </VueModal >
234
260
</div >
235
261
</template >
236
262
@@ -242,6 +268,20 @@ import StepWizard from '../components/StepWizard'
242
268
import PROJECT_CREATION from ' ../graphql/projectCreation.gql'
243
269
import PROJECT_INIT_CREATE from ' ../graphql/projectInitCreate.gql'
244
270
271
+ function formDataFactory () {
272
+ return {
273
+ folder: ' ' ,
274
+ force: false ,
275
+ packageManager: undefined ,
276
+ selectedPreset: null ,
277
+ remotePreset: {
278
+ url: ' '
279
+ }
280
+ }
281
+ }
282
+
283
+ let formData = formDataFactory ()
284
+
245
285
export default {
246
286
components: {
247
287
ProjectPresetItem,
@@ -251,15 +291,10 @@ export default {
251
291
252
292
data () {
253
293
return {
254
- folder: ' test-app' ,
255
- force: false ,
256
- packageManager: undefined ,
294
+ formData: formData,
257
295
projectCreation: null ,
258
- selectedPreset: null ,
259
- remotePreset: {
260
- url: ' ' ,
261
- openModal: false
262
- }
296
+ showCancel: false ,
297
+ showRemotePreset: false
263
298
}
264
299
},
265
300
@@ -269,11 +304,11 @@ export default {
269
304
270
305
computed: {
271
306
detailsValid () {
272
- return !! this .folder
307
+ return !! this .formData . folder
273
308
},
274
309
275
310
presetValid () {
276
- return !! this .selectedPreset
311
+ return !! this .formData . selectedPreset
277
312
},
278
313
279
314
remotePresetInfo () {
@@ -285,13 +320,17 @@ export default {
285
320
},
286
321
287
322
methods: {
323
+ cancel () {
324
+ formData = formDataFactory ()
325
+ },
326
+
288
327
selectPreset (id ) {
289
328
if (id === ' remote' ) {
290
- this .remotePreset . openModal = true
329
+ this .showRemotePreset = true
291
330
return
292
331
}
293
332
294
- this .selectedPreset = id
333
+ this .formData . selectedPreset = id
295
334
}
296
335
}
297
336
}
0 commit comments