mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-06 16:58:49 +01:00
🎨 Update av
This commit is contained in:
parent
8a4ab0daff
commit
6b3e0e7a35
2 changed files with 40 additions and 3 deletions
|
|
@ -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"`
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue