From 36f7083529a1b9d37a480a7451f4ca8f761674ec Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 12 Jul 2023 21:39:55 +0800 Subject: [PATCH] :recycle: Refactor av data structure --- kernel/api/av.go | 2 +- kernel/av/av.go | 36 +++++++++++++++++----------------- kernel/model/attribute_view.go | 26 ++++++++++++------------ 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/kernel/api/av.go b/kernel/api/av.go index a1a6f94a2..5e9b68385 100644 --- a/kernel/api/av.go +++ b/kernel/api/av.go @@ -47,7 +47,7 @@ func renderAttributeView(c *gin.Context) { view := map[string]interface{}{ "id": v.ID, "name": v.Name, - "type": v.CurrentLayoutType, + "type": v.LayoutType, } views = append(views, view) diff --git a/kernel/av/av.go b/kernel/av/av.go index bad853f99..56099d607 100644 --- a/kernel/av/av.go +++ b/kernel/av/av.go @@ -31,12 +31,12 @@ import ( // AttributeView 描述了属性视图的结构。 type AttributeView struct { - Spec int `json:"spec"` // 格式版本 - ID string `json:"id"` // 属性视图 ID - Name string `json:"name"` // 属性视图名称 - KeyValues []*KeyValues `json:"keyValues"` // 属性视图属性列值 - CurrentViewID string `json:"currentViewID"` // 当前视图 ID - Views []*View `json:"views"` // 视图 + Spec int `json:"spec"` // 格式版本 + ID string `json:"id"` // 属性视图 ID + Name string `json:"name"` // 属性视图名称 + KeyValues []*KeyValues `json:"keyValues"` // 属性视图属性列值 + ViewID string `json:"viewID"` // 当前视图 ID + Views []*View `json:"views"` // 视图 } // KeyValues 描述了属性视图属性列值的结构。 @@ -130,9 +130,9 @@ type View struct { ID string `json:"id"` // 视图 ID Name string `json:"name"` // 视图名称 - CurrentLayoutID string `json:"currentLayoutID"` // 当前布局 ID - CurrentLayoutType LayoutType `json:"type"` // 当前布局类型 - Table *LayoutTable `json:"table,omitempty"` // 表格布局 + LayoutID string `json:"layoutID"` // 当前布局 ID + LayoutType LayoutType `json:"type"` // 当前布局类型 + Table *LayoutTable `json:"table,omitempty"` // 表格布局 } // LayoutType 描述了视图布局的类型。 @@ -146,10 +146,10 @@ func NewView() *View { name := "Table" layoutID := ast.NewNodeID() return &View{ - ID: ast.NewNodeID(), - Name: name, - CurrentLayoutID: layoutID, - CurrentLayoutType: LayoutTypeTable, + ID: ast.NewNodeID(), + Name: name, + LayoutID: layoutID, + LayoutType: LayoutTypeTable, Table: &LayoutTable{ Spec: 0, ID: layoutID, @@ -173,11 +173,11 @@ func NewAttributeView(id string) (ret *AttributeView) { view := NewView() key := NewKey("Block", KeyTypeBlock) ret = &AttributeView{ - Spec: 0, - ID: id, - KeyValues: []*KeyValues{{Key: key}}, - CurrentViewID: view.ID, - Views: []*View{view}, + Spec: 0, + ID: id, + KeyValues: []*KeyValues{{Key: key}}, + ViewID: view.ID, + Views: []*View{view}, } view.Table.Columns = []*ViewTableColumn{{ID: key.ID}} return diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 1f5378318..df0b8a8fe 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -44,9 +44,9 @@ func RenderAttributeView(avID string) (viewable av.Viewable, attrView *av.Attrib } var view *av.View - if "" != attrView.CurrentViewID { + if "" != attrView.ViewID { for _, v := range attrView.Views { - if v.ID == attrView.CurrentViewID { + if v.ID == attrView.ViewID { view = v break } @@ -55,7 +55,7 @@ func RenderAttributeView(avID string) (viewable av.Viewable, attrView *av.Attrib view = attrView.Views[0] } - switch view.CurrentLayoutType { + switch view.LayoutType { case av.LayoutTypeTable: viewable, err = renderAttributeViewTable(attrView, view) } @@ -184,7 +184,7 @@ func setAttributeViewFilters(operation *Operation) (err error) { return } - switch view.CurrentLayoutType { + switch view.LayoutType { case av.LayoutTypeTable: if err = gulu.JSON.UnmarshalJSON(data, &view.Table.Filters); nil != err { return @@ -221,7 +221,7 @@ func setAttributeViewSorts(operation *Operation) (err error) { return } - switch view.CurrentLayoutType { + switch view.LayoutType { case av.LayoutTypeTable: if err = gulu.JSON.UnmarshalJSON(data, &view.Table.Sorts); nil != err { return @@ -311,7 +311,7 @@ func addAttributeViewBlock(blockID string, operation *Operation, tree *parse.Tre return } - switch view.CurrentLayoutType { + switch view.LayoutType { case av.LayoutTypeTable: if "" != operation.PreviousID { for i, id := range view.Table.RowIDs { @@ -375,7 +375,7 @@ func setAttributeViewColWidth(operation *Operation) (err error) { return } - switch view.CurrentLayoutType { + switch view.LayoutType { case av.LayoutTypeTable: for _, column := range view.Table.Columns { if column.ID == operation.ID { @@ -408,7 +408,7 @@ func setAttributeViewColWrap(operation *Operation) (err error) { return } - switch view.CurrentLayoutType { + switch view.LayoutType { case av.LayoutTypeTable: for _, column := range view.Table.Columns { if column.ID == operation.ID { @@ -441,7 +441,7 @@ func setAttributeViewColHidden(operation *Operation) (err error) { return } - switch view.CurrentLayoutType { + switch view.LayoutType { case av.LayoutTypeTable: for _, column := range view.Table.Columns { if column.ID == operation.ID { @@ -487,7 +487,7 @@ func sortAttributeViewRow(operation *Operation) (err error) { return } - switch view.CurrentLayoutType { + switch view.LayoutType { case av.LayoutTypeTable: view.Table.RowIDs = append(view.Table.RowIDs[:index], view.Table.RowIDs[index+1:]...) for i, r := range view.Table.RowIDs { @@ -522,7 +522,7 @@ func sortAttributeViewColumn(operation *Operation) (err error) { return } - switch view.CurrentLayoutType { + switch view.LayoutType { case av.LayoutTypeTable: var col *av.ViewTableColumn var index, previousIndex int @@ -576,7 +576,7 @@ func addAttributeViewColumn(operation *Operation) (err error) { key := av.NewKey(operation.Name, keyType) attrView.KeyValues = append(attrView.KeyValues, &av.KeyValues{Key: key}) - switch view.CurrentLayoutType { + switch view.LayoutType { case av.LayoutTypeTable: view.Table.Columns = append(view.Table.Columns, &av.ViewTableColumn{ID: key.ID}) } @@ -638,7 +638,7 @@ func removeAttributeViewColumn(operation *Operation) (err error) { } for _, view := range attrView.Views { - switch view.CurrentLayoutType { + switch view.LayoutType { case av.LayoutTypeTable: for i, column := range view.Table.Columns { if column.ID == operation.ID {