Browse Source

feat: added name filter for domains list #41

0xJacky 2 years ago
parent
commit
3d0c40eaac
2 changed files with 11 additions and 3 deletions
  1. 7 3
      frontend/src/views/domain/DomainList.vue
  2. 4 0
      server/api/domain.go

+ 7 - 3
frontend/src/views/domain/DomainList.vue

@@ -9,12 +9,17 @@ const {$gettext, interpolate} = useGettext()
 import domain from '@/api/domain'
 import {Badge, message} from 'ant-design-vue'
 import {h, ref} from 'vue'
+import {input} from '@/components/StdDataEntry'
 
 const columns = [{
     title: () => $gettext('Name'),
     dataIndex: 'name',
     sorter: true,
-    pithy: true
+    pithy: true,
+    edit: {
+        type: input
+    },
+    search: true
 }, {
     title: () => $gettext('Status'),
     dataIndex: 'enabled',
@@ -40,7 +45,7 @@ const columns = [{
     pithy: true
 }, {
     title: () => $gettext('Action'),
-    dataIndex: 'action',
+    dataIndex: 'action'
 }]
 
 const table = ref(null)
@@ -85,7 +90,6 @@ function destroy(site_name: any) {
         <std-table
             :api="domain"
             :columns="columns"
-            :disable_search="true"
             row-key="name"
             ref="table"
             @clickEdit="r => $router.push({

+ 4 - 0
server/api/domain.go

@@ -15,6 +15,7 @@ import (
 )
 
 func GetDomains(c *gin.Context) {
+	name := c.Query("name")
 	orderBy := c.Query("order_by")
 	sort := c.DefaultQuery("sort", "desc")
 
@@ -49,6 +50,9 @@ func GetDomains(c *gin.Context) {
 		file := configFiles[i]
 		fileInfo, _ := file.Info()
 		if !file.IsDir() {
+			if name != "" && !strings.Contains(file.Name(), name) {
+				continue
+			}
 			configs = append(configs, gin.H{
 				"name":    file.Name(),
 				"size":    fileInfo.Size(),