summaryrefslogtreecommitdiffstats
path: root/src/components/group/GroupMaker.vue
diff options
context:
space:
mode:
authorjdlugosz963 <jdlugosz963@gmail.com>2021-12-14 09:06:45 +0100
committerjdlugosz963 <jdlugosz963@gmail.com>2021-12-14 09:06:45 +0100
commitfb8cd8aa895d2b7ee609bb84f23ab52c37d4a01f (patch)
tree5c56de50d9b59d156a46e072b2d434a06d7be41a /src/components/group/GroupMaker.vue
parent193a6b59425ab45004f4178fc3f5b5bad5b4c660 (diff)
downloadlom_frontend-fb8cd8aa895d2b7ee609bb84f23ab52c37d4a01f.tar.gz
lom_frontend-fb8cd8aa895d2b7ee609bb84f23ab52c37d4a01f.zip
clean up project tree
Diffstat (limited to 'src/components/group/GroupMaker.vue')
-rw-r--r--src/components/group/GroupMaker.vue99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/components/group/GroupMaker.vue b/src/components/group/GroupMaker.vue
new file mode 100644
index 0000000..f3da293
--- /dev/null
+++ b/src/components/group/GroupMaker.vue
@@ -0,0 +1,99 @@
1<template>
2 <div class="group_maker">
3 Group maker
4 <form @submit="make_group">
5 <input
6 v-model="group_name"
7 ref='input'
8 type="text"
9 placeholder="Type group name..."
10 />
11
12 <select multiple v-model="users_selection">
13
14 <option
15 v-for="user in users"
16 :key="user.id"
17 :value="user.id">
18 {{user.username}}
19 </option>
20
21 </select>
22 </form>
23 </div>
24</template>
25
26<script>
27import ChatService from "@/services/ChatService.js"
28import AuthService from "@/services/AuthService.js"
29
30export default {
31 data() {
32 return {
33 group_name: "",
34 users_selection: [],
35 users: []
36 }
37 },
38
39 methods: {
40 close() {
41 this.$emit('close')
42 },
43
44 async make_group(e) {
45 e.preventDefault()
46 console.log(this.users_selection)
47 const {status} = await ChatService.group_create({
48 "name": this.group_name,
49 "users": this.users_selection
50 })
51
52 if(status === 201) {
53 this.$notify({
54 type: "success",
55 text: "Group created!"
56 })
57
58 this.close()
59 }
60
61 },
62
63 async set_users() {
64 const {status, data} = await AuthService.info("all=true")
65
66 if(status === 200)
67 this.users = data.users
68 else
69 this.close()
70
71 console.log(this.users)
72 }
73 },
74
75 created() {
76 this.$nextTick(function () {
77 this.$refs.input.focus()
78
79 this.set_users()
80 })
81 }
82}
83</script>
84
85<style scoped>
86
87.group_maker {
88 position: absolute;
89 width: 30%;
90 height: 80%;
91 top: 50%;
92 left: 50%;
93 background-color: #202020;
94 padding: 20px;
95 border-radius: 10px;
96 transform: translate(-50%, -50%);
97 }
98
99</style>