blob: 73aa164c29018bb1bdb80f2b1e62b603d3eb7a7b [file] [log] [blame]
Yoshie Muranaka463a5702019-12-04 09:09:36 -08001<template>
Gunnar Millsff4ab402020-01-28 20:16:44 -06002 <b-modal
3 id="modal-user"
4 @ok="$emit('ok', { newUser, form })"
5 @hidden="$emit('hidden')"
6 >
Yoshie Muranaka463a5702019-12-04 09:09:36 -08007 <template v-slot:modal-title>
8 <template v-if="newUser">
9 Add user
10 </template>
11 <template v-else>
12 Edit user
13 </template>
14 </template>
Gunnar Millsff4ab402020-01-28 20:16:44 -060015 <b-form>
16 <b-form-group label="Account status">
17 <b-form-radio v-model="form.status" name="user-status" value="true"
18 >Enabled</b-form-radio
19 >
20 <b-form-radio v-model="form.status" name="user-status" value="false"
21 >Disabled</b-form-radio
22 >
23 </b-form-group>
24 <b-form-group label="Username">
Gunnar Millsc4844b42020-01-28 20:18:40 -060025 <b-form-input type="text" v-model="form.username" />
Gunnar Millsff4ab402020-01-28 20:16:44 -060026 </b-form-group>
27 <b-form-group label="Privilege">
28 <b-form-select
29 v-model="form.privilege"
30 :options="privilegeTypes"
31 ></b-form-select>
32 </b-form-group>
33 <b-form-group label="Password">
Gunnar Millsc4844b42020-01-28 20:18:40 -060034 <b-form-input type="password" v-model="form.password" />
Gunnar Millsff4ab402020-01-28 20:16:44 -060035 </b-form-group>
Yoshie Muranaka463a5702019-12-04 09:09:36 -080036 </b-form>
37 <template v-slot:modal-ok>
38 <template v-if="newUser">
39 Add user
40 </template>
41 <template v-else>
42 Save
43 </template>
44 </template>
45 </b-modal>
46</template>
47
48<script>
49export default {
Gunnar Millsc4844b42020-01-28 20:18:40 -060050 props: ['user'],
Yoshie Muranaka463a5702019-12-04 09:09:36 -080051 data() {
52 return {
Gunnar Millsff4ab402020-01-28 20:16:44 -060053 privilegeTypes: ['Administrator', 'Operator', 'ReadOnly', 'NoAccess']
Yoshie Muranaka463a5702019-12-04 09:09:36 -080054 };
55 },
56 computed: {
57 newUser() {
58 return this.user ? false : true;
59 },
Gunnar Millsff4ab402020-01-28 20:16:44 -060060 form() {
61 return {
62 originalUsername: this.newUser ? null : this.user.username,
63 status: this.newUser
64 ? true
65 : this.user.status === 'Enabled'
66 ? true
67 : false,
68 username: this.newUser ? '' : this.user.username,
69 privilege: this.newUser ? '' : this.user.privilege,
70 password: ''
71 };
Yoshie Muranaka463a5702019-12-04 09:09:36 -080072 }
73 }
74};
75</script>