Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2023-06-10 17:57:04 +08:00
commit ccd48618e5
2 changed files with 41 additions and 4 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

@ -180,10 +180,10 @@ func addAttributeViewColumn(name string, typ string, avID string) (err error) {
colType := av.ColumnType(typ)
switch colType {
case av.ColumnTypeText:
col := &av.Column{ID: "av" + ast.NewNodeID(), Name: name, Type: colType}
col := &av.Column{ID: 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 {