This is an automated email from the ASF dual-hosted git repository.

hanahmily pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git


The following commit(s) were added to refs/heads/main by this push:
     new c06b5e1e Add resource_opts field for creating and editing groups. 
(#301)
c06b5e1e is described below

commit c06b5e1e802bac44ce3615b13c07d3702453eee0
Author: Wu ChuSheng <[email protected]>
AuthorDate: Tue Jul 18 21:07:55 2023 +0800

    Add resource_opts field for creating and editing groups. (#301)
    
    * Add resource_opts field for creating and editing groups.
    
    * Edit CHANGES.MD
    
    ---------
    
    Co-authored-by: Gao Hongtao <[email protected]>
---
 CHANGES.md                        |   1 +
 ui/src/components/Aside/index.vue | 134 ++++++++++++++++++++++++++++++++++++--
 2 files changed, 128 insertions(+), 7 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 5148737b..c418e9cf 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -14,6 +14,7 @@ Release Notes.
 - BanyanDB ui unable to load icon.
 - BanyanDB ui type error
 - Fix timer not released
+- BanyanDB ui misses fields when creating a group
 
 ### Chores
 
diff --git a/ui/src/components/Aside/index.vue 
b/ui/src/components/Aside/index.vue
index 5c4c3812..581e1c44 100644
--- a/ui/src/components/Aside/index.vue
+++ b/ui/src/components/Aside/index.vue
@@ -56,10 +56,18 @@ const data = reactive({
     setGroup: 'create',
     groupForm: {
         name: null,
-        catalog: 'CATALOG_STREAM'
+        catalog: 'CATALOG_STREAM',
+        shardNum: 1,
+        blockIntervalUnit: "UNIT_UNSPECIFIED",
+        blockIntervalNum: 1,
+        segmentIntervalUnit: "UNIT_UNSPECIFIED",
+        segmentIntervalNum: 1,
+        ttlUnit: "UNIT_UNSPECIFIED",
+        ttlNum: 1
     },
     activeMenu: '',
-    search: ''
+    search: '',
+    formLabelWidth: "170px"
 })
 
 watch(() => data.search, () => {
@@ -167,6 +175,41 @@ const rules = {
         {
             required: true, message: 'Please select the type of the group', 
trigger: 'blur'
         }
+    ],
+    shardNum: [
+        {
+            required: true, message: 'Please select the shard num of the 
group', trigger: 'blur'
+        }
+    ],
+    blockIntervalUnit: [
+        {
+            required: true, message: 'Please select the block interval unit of 
the group', trigger: 'blur'
+        }
+    ],
+    blockIntervalNum: [
+        {
+            required: true, message: 'Please select the block Interval num of 
the group', trigger: 'blur'
+        }
+    ],
+    segmentIntervalUnit: [
+        {
+            required: true, message: 'Please select the segment interval unit 
of the group', trigger: 'blur'
+        }
+    ],
+    segmentIntervalNum: [
+        {
+            required: true, message: 'Please select the segment Interval num 
of the group', trigger: 'blur'
+        }
+    ],
+    ttlUnit: [
+        {
+            required: true, message: 'Please select the ttl unit of the 
group', trigger: 'blur'
+        }
+    ],
+    ttlNum: [
+        {
+            required: true, message: 'Please select the ttl num of the group', 
trigger: 'blur'
+        }
     ]
 }
 
@@ -509,6 +552,13 @@ function openCreateGroup() {
 function openEditGroup() {
     data.groupForm.name = data.groupLists[data.clickIndex].metadata.name
     data.groupForm.catalog = data.groupLists[data.clickIndex].catalog
+    data.groupForm.shardNum = 
data.groupLists[data.clickIndex].resourceOpts?.shardNum
+    data.groupForm.blockIntervalUnit = 
data.groupLists[data.clickIndex].resourceOpts?.blockInterval?.unit
+    data.groupForm.blockIntervalNum = 
data.groupLists[data.clickIndex].resourceOpts?.blockInterval?.num
+    data.groupForm.segmentIntervalUnit = 
data.groupLists[data.clickIndex].resourceOpts?.segmentInterval?.unit
+    data.groupForm.segmentIntervalNum = 
data.groupLists[data.clickIndex].resourceOpts?.segmentInterval?.num
+    data.groupForm.ttlUnit = 
data.groupLists[data.clickIndex].resourceOpts?.ttl?.unit
+    data.groupForm.ttlNum = 
data.groupLists[data.clickIndex].resourceOpts?.ttl?.num
     data.dialogGroupVisible = true
     data.setGroup = 'edit'
 }
@@ -649,7 +699,22 @@ function createGroupFunction() {
                         group: "",
                         name: data.groupForm.name
                     },
-                    catalog: data.groupForm.catalog
+                    catalog: data.groupForm.catalog,
+                    resourceOpts: {
+                        shardNum: data.groupForm.shardNum,
+                        blockInterval: {
+                            unit: data.groupForm.blockIntervalUnit,
+                            num: data.groupForm.blockIntervalNum
+                        },
+                        segmentInterval: {
+                            unit: data.groupForm.segmentIntervalUnit,
+                            num: data.groupForm.segmentIntervalNum
+                        },
+                        ttl: {
+                            unit: data.groupForm.ttlUnit,
+                            num: data.groupForm.ttlNum
+                        }
+                    }
                 }
             }
             $loadingCreate()
@@ -681,7 +746,22 @@ function editGroupFunction() {
                         group: "",
                         name: data.groupForm.name
                     },
-                    catalog: data.groupForm.catalog
+                    catalog: data.groupForm.catalog,
+                    resourceOpts: {
+                        shardNum: data.groupForm.shardNum,
+                        blockInterval: {
+                            unit: data.groupForm.blockIntervalUnit,
+                            num: data.groupForm.blockIntervalNum
+                        },
+                        segmentInterval: {
+                            unit: data.groupForm.segmentIntervalUnit,
+                            num: data.groupForm.segmentIntervalNum
+                        },
+                        ttl: {
+                            unit: data.groupForm.ttlUnit,
+                            num: data.groupForm.ttlNum
+                        }
+                    }
                 }
             }
             $loadingCreate()
@@ -711,7 +791,14 @@ function cancelCreateEditDialog() {
 function clearGroupForm() {
     data.groupForm = {
         name: null,
-        catalog: 'CATALOG_STREAM'
+        catalog: 'CATALOG_STREAM',
+        shardNum: 1,
+        blockIntervalUnit: "UNIT_UNSPECIFIED",
+        blockIntervalNum: 1,
+        segmentIntervalUnit: "UNIT_UNSPECIFIED",
+        segmentIntervalNum: 1,
+        ttlUnit: "UNIT_UNSPECIFIED",
+        ttlNum: 1
     }
 }
 function initActiveMenu() {
@@ -879,16 +966,49 @@ initActiveMenu()
         <el-dialog width="25%" center :title="`${data.setGroup} group`" 
v-model="data.dialogGroupVisible"
             :show-close="false">
             <el-form ref="ruleForm" :rules="rules" :model="data.groupForm" 
label-position="left">
-                <el-form-item label="group name" label-width="120px" 
prop="name">
+                <el-form-item label="group name" 
:label-width="data.formLabelWidth" prop="name">
                     <el-input :disabled="data.setGroup == 'edit'" 
v-model="data.groupForm.name" autocomplete="off">
                     </el-input>
                 </el-form-item>
-                <el-form-item label="group type" label-width="120px" 
prop="catalog">
+                <el-form-item label="group type" 
:label-width="data.formLabelWidth" prop="catalog">
                     <el-select v-model="data.groupForm.catalog" 
placeholder="please select" style="width: 100%">
                         <el-option label="CATALOG_STREAM" 
value="CATALOG_STREAM"></el-option>
                         <el-option label="CATALOG_MEASURE" 
value="CATALOG_MEASURE"></el-option>
                     </el-select>
                 </el-form-item>
+                <el-form-item label="shard num" 
:label-width="data.formLabelWidth" prop="shardNum">
+                    <el-input-number v-model="data.groupForm.shardNum" 
:min="1" />
+                </el-form-item>
+                <el-form-item label="block interval unit" 
:label-width="data.formLabelWidth" prop="blockIntervalUnit">
+                    <el-select v-model="data.groupForm.blockIntervalUnit" 
placeholder="please select" style="width: 100%">
+                        <el-option label="UNIT_UNSPECIFIED" 
value="UNIT_UNSPECIFIED"></el-option>
+                        <el-option label="UNIT_HOUR" 
value="UNIT_HOUR"></el-option>
+                        <el-option label="UNIT_DAY" 
value="UNIT_DAY"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="block interval num" 
:label-width="data.formLabelWidth" prop="blockIntervalNum">
+                    <el-input-number v-model="data.groupForm.blockIntervalNum" 
:min="1" />
+                </el-form-item>
+                <el-form-item label="segment interval unit" 
:label-width="data.formLabelWidth" prop="segmentIntervalUnit">
+                    <el-select v-model="data.groupForm.segmentIntervalUnit" 
placeholder="please select" style="width: 100%">
+                        <el-option label="UNIT_UNSPECIFIED" 
value="UNIT_UNSPECIFIED"></el-option>
+                        <el-option label="UNIT_HOUR" 
value="UNIT_HOUR"></el-option>
+                        <el-option label="UNIT_DAY" 
value="UNIT_DAY"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="segment interval num" 
:label-width="data.formLabelWidth" prop="segmentIntervalNum">
+                    <el-input-number 
v-model="data.groupForm.segmentIntervalNum" :min="1" />
+                </el-form-item>
+                <el-form-item label="ttl unit" 
:label-width="data.formLabelWidth" prop="ttlUnit">
+                    <el-select v-model="data.groupForm.ttlUnit" 
placeholder="please select" style="width: 100%">
+                        <el-option label="UNIT_UNSPECIFIED" 
value="UNIT_UNSPECIFIED"></el-option>
+                        <el-option label="UNIT_HOUR" 
value="UNIT_HOUR"></el-option>
+                        <el-option label="UNIT_DAY" 
value="UNIT_DAY"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="ttl num" 
:label-width="data.formLabelWidth" prop="ttlNum">
+                    <el-input-number v-model="data.groupForm.ttlNum" :min="1" 
/>
+                </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer footer">
                 <el-button @click="cancelCreateEditDialog">cancel</el-button>

Reply via email to