|
122 | 122 | </v-btn>
|
123 | 123 | </v-card-actions>
|
124 | 124 | </v-card>
|
125 |
| - </v-dialog> |
| 125 | + </v-dialog> --> |
126 | 126 | <v-dialog
|
127 |
| - v-model="addProject" |
128 |
| - width="500" |
| 127 | + v-model="showNewProjectDialog" |
| 128 | + width="600" |
129 | 129 | :fullscreen="$vuetify.breakpoint.xsOnly"
|
130 | 130 | >
|
131 | 131 | <v-card>
|
132 | 132 | <v-card-title>
|
133 |
| - Begin new project |
| 133 | + Start new project |
134 | 134 | </v-card-title>
|
135 | 135 | <v-card-text>
|
136 | 136 | <v-container>
|
137 | 137 | <v-row>
|
138 |
| - <v-col cols="12" sm="6" md="4"> |
139 |
| - <v-text-field |
140 |
| - label="Project name" |
| 138 | + <v-col cols="12"> |
| 139 | + <v-textarea |
| 140 | + auto-grow |
| 141 | + rows="1" |
141 | 142 | required
|
142 |
| - v-model="newProject" |
| 143 | + clearable |
| 144 | + counter |
| 145 | + maxlength="64" |
| 146 | + label="Project name" |
| 147 | + prepend-icon="mdi-folder-open" |
| 148 | + type="text" |
| 149 | + v-model="projectName" |
143 | 150 | :color="inputPrimary"
|
144 | 151 | >
|
145 |
| - </v-text-field> |
| 152 | + </v-textarea> |
146 | 153 | </v-col>
|
147 | 154 | </v-row>
|
148 | 155 | </v-container>
|
|
153 | 160 | <v-btn
|
154 | 161 | :color="btnSecondary"
|
155 | 162 | text
|
156 |
| - @click="addProject = false" |
| 163 | + @click="showNewProjectDialog = false" |
157 | 164 | >
|
158 | 165 | Cancel
|
159 | 166 | </v-btn>
|
160 | 167 | <v-btn
|
161 | 168 | :dark="componentDark"
|
162 | 169 | :color="btnPrimary"
|
163 |
| - @click="saveProject" |
| 170 | + @click="addProject" |
164 | 171 | >
|
165 | 172 | Save
|
166 | 173 | </v-btn>
|
167 | 174 | </v-card-actions>
|
168 | 175 | </v-card>
|
169 |
| - </v-dialog> --> |
| 176 | + </v-dialog> |
170 | 177 |
|
171 | 178 | <v-row>
|
172 | 179 | <v-col>
|
|
267 | 274 | <v-tab-item>
|
268 | 275 | <v-card flat>
|
269 | 276 | <v-card-text>
|
270 |
| - <!-- if disabled then element cannot be dark --> |
271 |
| - <!-- :dark="componentDark" --> |
272 |
| - <!-- @click="showProjectDialog" --> |
273 | 277 | <v-btn
|
274 | 278 | block
|
275 | 279 | class="mb-4"
|
276 |
| - disabled |
| 280 | + :dark="componentDark" |
277 | 281 | :color="btnPrimary"
|
| 282 | + @click="showNewProjectDialog = true" |
278 | 283 | >
|
279 |
| - Add project |
| 284 | + Create new project |
280 | 285 | </v-btn>
|
281 | 286 | <v-data-table
|
282 | 287 | :headers="projectHeaders"
|
@@ -311,14 +316,16 @@ export default {
|
311 | 316 | name: 'settings',
|
312 | 317 | data () {
|
313 | 318 | return {
|
| 319 | + // pushing new info |
314 | 320 | showNewAccountDialog: false,
|
315 | 321 | username: '',
|
316 | 322 | password: '',
|
317 | 323 | email: '',
|
318 | 324 | // addDevice: false,
|
319 | 325 | // newDevice: '',
|
320 |
| - // addProject: false, |
321 |
| - // newProject: '', |
| 326 | + showNewProjectDialog: false, |
| 327 | + projectName: '', |
| 328 | + // getting table info |
322 | 329 | tableLoading: true,
|
323 | 330 | accounts: [],
|
324 | 331 | accountHeaders: [
|
@@ -366,23 +373,13 @@ export default {
|
366 | 373 | // showDeviceDialog () {
|
367 | 374 | // this.addDevice = true
|
368 | 375 | // },
|
369 |
| - // showProjectDialog () { |
370 |
| - // this.addProject = true |
371 |
| - // }, |
372 | 376 | // saveDevice () {
|
373 | 377 | // if (this.newDevice !== '') {
|
374 | 378 | // this.devices.push({'name': this.newDevice})
|
375 | 379 | // this.newDevice = ''
|
376 | 380 | // }
|
377 | 381 | // this.addDevice = false
|
378 | 382 | // },
|
379 |
| - // saveProject () { |
380 |
| - // if (this.newProject !== '') { |
381 |
| - // this.projects.push({'title': this.newProject}) |
382 |
| - // this.newProject = '' |
383 |
| - // } |
384 |
| - // this.addProject = false |
385 |
| - // }, |
386 | 383 | authConfig () {
|
387 | 384 | return {headers: {Authorization: 'Bearer ' + localStorage.getItem(this.lsToken)}}
|
388 | 385 | },
|
@@ -463,6 +460,26 @@ export default {
|
463 | 460 | }
|
464 | 461 | })
|
465 | 462 | },
|
| 463 | + addProject () { |
| 464 | + axios.post(this.apiUrl + '/api/v1/project', { |
| 465 | + 'name': this.projectName |
| 466 | + }, this.authConfig()) |
| 467 | + .then((res) => { |
| 468 | + //clear form |
| 469 | + this.projectName = '' |
| 470 | + //close dialog |
| 471 | + this.showNewProjectDialog = false |
| 472 | + //get project list |
| 473 | + this.getProjects() |
| 474 | + }) |
| 475 | + .catch((err) => { |
| 476 | + if (err.response.status === 401) { |
| 477 | + this.$root.$emit('sessionExpired') |
| 478 | + } else { |
| 479 | + console.log('something wrong') |
| 480 | + } |
| 481 | + }) |
| 482 | + }, |
466 | 483 | }
|
467 | 484 | }
|
468 | 485 | </script>
|
0 commit comments