From 172551dcab45f4cd6c953f3311a17e3b74332ef8 Mon Sep 17 00:00:00 2001
From: vx3r <vx3r@127-0-0-1.fr>
Date: Wed, 10 Jun 2020 16:44:15 +0900
Subject: [PATCH] implement feature requests #43 and #44

---
 model/client.go               |  2 +-
 ui/src/components/Clients.vue | 59 ++++++++++++++++++++---------------
 2 files changed, 35 insertions(+), 26 deletions(-)

diff --git a/model/client.go b/model/client.go
index 07711d7..695768b 100644
--- a/model/client.go
+++ b/model/client.go
@@ -16,7 +16,7 @@ type Client struct {
 	PresharedKey              string    `json:"presharedKey"`
 	AllowedIPs                []string  `json:"allowedIPs"`
 	Address                   []string  `json:"address"`
-	Tags											[]string  `json:"tags"`
+	Tags                      []string  `json:"tags"`
 	PrivateKey                string    `json:"privateKey"`
 	PublicKey                 string    `json:"publicKey"`
 	CreatedBy                 string    `json:"createdBy"`
diff --git a/ui/src/components/Clients.vue b/ui/src/components/Clients.vue
index 4d34028..b06e238 100644
--- a/ui/src/components/Clients.vue
+++ b/ui/src/components/Clients.vue
@@ -66,30 +66,39 @@
                     </v-row>
                 </template>
                 <template v-slot:item.action="{ item }">
-                    <v-icon
-                            class="pr-1 pl-1"
-                            @click.stop="startUpdate(item)"
-                    >
-                        mdi-square-edit-outline
-                    </v-icon>
-                    <v-icon
-                            class="pr-1 pl-1"
-                            @click.stop="forceFileDownload(item)"
-                    >
-                        mdi-cloud-download-outline
-                    </v-icon>
-                    <v-icon
-                            class="pr-1 pl-1"
-                            @click.stop="email(item)"
-                    >
-                        mdi-email-send-outline
-                    </v-icon>
-                    <v-icon
-                            class="pr-1 pl-1"
-                            @click="remove(item)"
-                    >
-                        mdi-trash-can-outline
-                    </v-icon>
+                    <v-row>
+                        <v-icon
+                                class="pr-1 pl-1"
+                                @click.stop="startUpdate(item)"
+                        >
+                            mdi-square-edit-outline
+                        </v-icon>
+                        <v-icon
+                                class="pr-1 pl-1"
+                                @click.stop="forceFileDownload(item)"
+                        >
+                            mdi-cloud-download-outline
+                        </v-icon>
+                        <v-icon
+                                class="pr-1 pl-1"
+                                @click.stop="email(item)"
+                        >
+                            mdi-email-send-outline
+                        </v-icon>
+                        <v-icon
+                                class="pr-1 pl-1"
+                                @click="remove(item)"
+                        >
+                            mdi-trash-can-outline
+                        </v-icon>
+                        <v-switch
+                                dark
+                                class="pr-1 pl-1"
+                                color="success"
+                                v-model="item.enable"
+                                v-on:change="update(item)"
+                        />
+                    </v-row>
                 </template>
 
             </v-data-table>
@@ -592,7 +601,7 @@
         const url = window.URL.createObjectURL(new Blob([config]))
         const link = document.createElement('a')
         link.href = url
-        link.setAttribute('download', 'wg0.conf') //or any other extension
+        link.setAttribute('download', client.name.split(' ').join('-') + '.conf') //or any other extension
         document.body.appendChild(link)
         link.click()
       },
-- 
GitLab