🎨 Update av

This commit is contained in:
Daniel 2023-06-10 17:52:10 +08:00
parent 8a4ab0daff
commit 6b3e0e7a35
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 40 additions and 3 deletions

View file

@ -16,10 +16,47 @@
package av
import "github.com/88250/lute/ast"
type Cell struct {
ID string `json:"id"`
Value string `json:"value"`
ValueType ColumnType `json:"valueType"`
RenderValue interface{} `json:"renderValue"`
Color string `json:"color"`
BgColor string `json:"bgColor"`
}
func NewCellBlock(blockID, blockContent string) *Cell {
return &Cell{
ID: ast.NewNodeID(),
Value: blockID,
ValueType: ColumnTypeBlock,
RenderValue: &RenderValueBlock{ID: blockID, Content: blockContent},
}
}
func NewCellText(text string) *Cell {
return &Cell{
ID: ast.NewNodeID(),
Value: text,
ValueType: ColumnTypeText,
RenderValue: &RenderValueText{Content: text},
}
}
func NewCell(valueType ColumnType) *Cell {
return &Cell{
ID: ast.NewNodeID(),
ValueType: valueType,
}
}
type RenderValueBlock struct {
ID string `json:"id"`
Content string `json:"content"`
}
type RenderValueText struct {
Content string `json:"content"`
}

View file

@ -183,7 +183,7 @@ func addAttributeViewColumn(name string, typ string, avID string) (err error) {
col := &av.Column{ID: "av" + ast.NewNodeID(), Name: name, Type: colType}
attrView.Columns = append(attrView.Columns, col)
for _, row := range attrView.Rows {
row.Cells = append(row.Cells, &av.Cell{ID: ast.NewNodeID()})
row.Cells = append(row.Cells, av.NewCell(colType))
}
default:
msg := fmt.Sprintf("invalid column type [%s]", typ)
@ -275,12 +275,12 @@ func addAttributeViewBlock(blockID, avID string, tree *parse.Tree, tx *Transacti
}
row := av.NewRow()
row.Cells = append(row.Cells, &av.Cell{ID: ast.NewNodeID(), Value: blockID})
row.Cells = append(row.Cells, av.NewCellBlock(blockID, getNodeRefText(node)))
if 1 < len(ret.Columns) {
attrs := parse.IAL2Map(node.KramdownIAL)
for _, col := range ret.Columns[1:] {
attrs[NodeAttrNamePrefixAvCol+col.ID] = "" // 将列作为属性添加到块中
row.Cells = append(row.Cells, &av.Cell{ID: ast.NewNodeID()})
row.Cells = append(row.Cells, av.NewCell(col.Type))
}
if err = setNodeAttrsWithTx(tx, node, tree, attrs); nil != err {