Yoshie Muranaka | 463a570 | 2019-12-04 09:09:36 -0800 | [diff] [blame] | 1 | <template> |
| 2 | <b-modal |
| 3 | id="modal-user" |
| 4 | @ok="$emit('ok', { newUser, form })" |
| 5 | @hidden="$emit('hidden')" |
| 6 | > |
| 7 | <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> |
| 15 | <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"> |
| 25 | <b-form-input type="text" v-model="form.username" /> |
| 26 | </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"> |
| 34 | <b-form-input type="password" v-model="form.password" /> |
| 35 | </b-form-group> |
| 36 | </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> |
| 49 | export default { |
Derick Montague | e2fd156 | 2019-12-20 13:26:53 -0600 | [diff] [blame^] | 50 | props: ['user'], |
Yoshie Muranaka | 463a570 | 2019-12-04 09:09:36 -0800 | [diff] [blame] | 51 | data() { |
| 52 | return { |
Derick Montague | e2fd156 | 2019-12-20 13:26:53 -0600 | [diff] [blame^] | 53 | privilegeTypes: ['Administrator', 'Operator', 'ReadOnly', 'NoAccess'] |
Yoshie Muranaka | 463a570 | 2019-12-04 09:09:36 -0800 | [diff] [blame] | 54 | }; |
| 55 | }, |
| 56 | computed: { |
| 57 | newUser() { |
| 58 | return this.user ? false : true; |
| 59 | }, |
| 60 | form() { |
| 61 | return { |
| 62 | originalUsername: this.newUser ? null : this.user.username, |
| 63 | status: this.newUser |
| 64 | ? true |
Derick Montague | e2fd156 | 2019-12-20 13:26:53 -0600 | [diff] [blame^] | 65 | : this.user.status === 'Enabled' |
Yoshie Muranaka | 463a570 | 2019-12-04 09:09:36 -0800 | [diff] [blame] | 66 | ? true |
| 67 | : false, |
Derick Montague | e2fd156 | 2019-12-20 13:26:53 -0600 | [diff] [blame^] | 68 | username: this.newUser ? '' : this.user.username, |
| 69 | privilege: this.newUser ? '' : this.user.privilege, |
| 70 | password: '' |
Yoshie Muranaka | 463a570 | 2019-12-04 09:09:36 -0800 | [diff] [blame] | 71 | }; |
| 72 | } |
| 73 | } |
| 74 | }; |
| 75 | </script> |