Revert "🎨 Add tags to the database when binding blocks to the database https://github.com/siyuan-note/siyuan/issues/15757"

This reverts commit 4d8bc1672c.
This commit is contained in:
Daniel 2025-09-04 18:00:47 +08:00
parent 4d8bc1672c
commit ba10d96a10
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
16 changed files with 36 additions and 124 deletions

View file

@ -1385,8 +1385,7 @@
"table": "جدول", "table": "جدول",
"gallery": "بطاقة", "gallery": "بطاقة",
"key": "المفتاح الرئيسي", "key": "المفتاح الرئيسي",
"select": "تحديد", "select": "تحديد"
"tag": "وسم"
}, },
"_kernel": { "_kernel": {
"0": "فشل استعلام دفتر الملاحظات", "0": "فشل استعلام دفتر الملاحظات",

View file

@ -1385,8 +1385,7 @@
"table": "Tabelle", "table": "Tabelle",
"gallery": "Karte", "gallery": "Karte",
"key": "Primärschlüssel", "key": "Primärschlüssel",
"select": "Auswählen", "select": "Auswählen"
"tag": "Tag"
}, },
"_kernel": { "_kernel": {
"0": "Abfrage des Notizbuchs fehlgeschlagen", "0": "Abfrage des Notizbuchs fehlgeschlagen",

View file

@ -1385,8 +1385,7 @@
"table": "Table", "table": "Table",
"gallery": "Card", "gallery": "Card",
"key": "Primary Key", "key": "Primary Key",
"select": "Select", "select": "Select"
"tag": "Tag"
}, },
"_kernel": { "_kernel": {
"0": "Query notebook failed", "0": "Query notebook failed",

View file

@ -1385,8 +1385,7 @@
"table": "Tabla", "table": "Tabla",
"gallery": "Tarjeta", "gallery": "Tarjeta",
"key": "Clave principal", "key": "Clave principal",
"select": "Selección", "select": "Selección"
"tag": "Etiqueta"
}, },
"_kernel": { "_kernel": {
"0": "Consulta al cuaderno de notas fallido", "0": "Consulta al cuaderno de notas fallido",

View file

@ -1385,8 +1385,7 @@
"table": "Tableau", "table": "Tableau",
"gallery": "Carte", "gallery": "Carte",
"key": "Clé primaire", "key": "Clé primaire",
"select": "Sélectionner", "select": "Sélectionner"
"tag": "Étiquette"
}, },
"_kernel": { "_kernel": {
"0": "Échec du cahier de requêtes", "0": "Échec du cahier de requêtes",

View file

@ -1385,8 +1385,7 @@
"table": "טבלה", "table": "טבלה",
"gallery": "כרטיס", "gallery": "כרטיס",
"key": "מפתח ראשי", "key": "מפתח ראשי",
"select": "בחר", "select": "בחר"
"tag": "תגית"
}, },
"_kernel": { "_kernel": {
"0": "שאלת מחברת נכשלה", "0": "שאלת מחברת נכשלה",

View file

@ -1385,8 +1385,7 @@
"table": "Tabella", "table": "Tabella",
"gallery": "Scheda", "gallery": "Scheda",
"key": "Chiave primaria", "key": "Chiave primaria",
"select": "Seleziona", "select": "Seleziona"
"tag": "Etichetta"
}, },
"_kernel": { "_kernel": {
"0": "Query del taccuino fallita", "0": "Query del taccuino fallita",

View file

@ -1385,8 +1385,7 @@
"table": "テーブル", "table": "テーブル",
"gallery": "カード", "gallery": "カード",
"key": "プライマリキー", "key": "プライマリキー",
"select": "選択", "select": "選択"
"tag": "タグ"
}, },
"_kernel": { "_kernel": {
"0": "ノートブックのクエリに失敗しました", "0": "ノートブックのクエリに失敗しました",

View file

@ -1385,8 +1385,7 @@
"table": "Tabela", "table": "Tabela",
"gallery": "Karta", "gallery": "Karta",
"key": "Klucz główny", "key": "Klucz główny",
"select": "Wybierz", "select": "Wybierz"
"tag": "Tag"
}, },
"_kernel": { "_kernel": {
"0": "Nie udało się zapytać o notes", "0": "Nie udało się zapytać o notes",

View file

@ -1385,8 +1385,7 @@
"table": "Tabela", "table": "Tabela",
"gallery": "Cartão", "gallery": "Cartão",
"key": "Chave Primária", "key": "Chave Primária",
"select": "Selecionar", "select": "Selecionar"
"tag": "Etiqueta"
}, },
"_kernel": { "_kernel": {
"0": "Falha ao consultar o bloco de notas", "0": "Falha ao consultar o bloco de notas",

View file

@ -1385,8 +1385,7 @@
"table": "Таблица", "table": "Таблица",
"gallery": "Карточка", "gallery": "Карточка",
"key": "Первичный ключ", "key": "Первичный ключ",
"select": "Выбрать", "select": "Выбрать"
"tag": "Тег"
}, },
"_kernel": { "_kernel": {
"0": "Не удалось запросить блокнот", "0": "Не удалось запросить блокнот",

View file

@ -1385,8 +1385,7 @@
"table": "表格", "table": "表格",
"gallery": "卡片", "gallery": "卡片",
"key": "主鍵", "key": "主鍵",
"select": "單選", "select": "單選"
"tag": "標籤"
}, },
"_kernel": { "_kernel": {
"0": "查詢筆記本失敗", "0": "查詢筆記本失敗",

View file

@ -1385,8 +1385,7 @@
"table": "表格", "table": "表格",
"gallery": "卡片", "gallery": "卡片",
"key": "主键", "key": "主键",
"select": "单选", "select": "单选"
"tag": "标签"
}, },
"_kernel": { "_kernel": {
"0": "查询笔记本失败", "0": "查询笔记本失败",

View file

@ -634,15 +634,6 @@ func (av *AttributeView) GetKey(keyID string) (ret *Key, err error) {
return return
} }
func (av *AttributeView) GetKeyByNameType(keyName string, typ KeyType) (ret []*Key) {
for _, kv := range av.KeyValues {
if kv.Key.Name == keyName && kv.Key.Type == typ {
ret = append(ret, kv.Key)
}
}
return
}
func (av *AttributeView) GetBlockKeyValues() (ret *KeyValues) { func (av *AttributeView) GetBlockKeyValues() (ret *KeyValues) {
for _, kv := range av.KeyValues { for _, kv := range av.KeyValues {
if KeyTypeBlock == kv.Key.Type { if KeyTypeBlock == kv.Key.Type {

View file

@ -673,7 +673,7 @@ func Round(val float64, precision int) float64 {
type ValueSelect struct { type ValueSelect struct {
Content string `json:"content"` Content string `json:"content"`
Color string `json:"color"` // 1-14 Color string `json:"color"`
} }
func MSelectExistOption(mSelect []*ValueSelect, opt string) bool { func MSelectExistOption(mSelect []*ValueSelect, opt string) bool {

View file

@ -3152,7 +3152,6 @@ func addAttributeViewBlock(now int64, avID, dbBlockID, viewID, groupID, previous
if !isDetached { if !isDetached {
bindBlockAv0(tx, avID, node, tree) bindBlockAv0(tx, avID, node, tree)
fillTags(attrView, view, addingItemID, node)
} }
// 在所有视图上添加项目 // 在所有视图上添加项目
@ -3198,68 +3197,6 @@ func addAttributeViewBlock(now int64, avID, dbBlockID, viewID, groupID, previous
return return
} }
func fillTags(attrView *av.AttributeView, view *av.View, addingItemID string, node *ast.Node) {
// 如果节点上存在标签则将添加标签字段
var tags []string
if ast.NodeDocument == node.Type {
if docTagsVal := node.IALAttr("tags"); 0 < len(docTagsVal) {
docTags := strings.Split(docTagsVal, ",")
for _, t := range docTags {
tags = append(tags, t)
}
}
} else {
nodeTags := node.ChildrenByType(ast.NodeTextMark)
for _, t := range nodeTags {
tags = append(tags, t.TextMarkTextContent)
}
}
keyName := av.GetAttributeViewI18n("tag")
tagKeys := attrView.GetKeyByNameType(keyName, av.KeyTypeMSelect)
tagKeyID := ast.NewNodeID()
if 1 > len(tagKeys) {
blockKey := attrView.GetBlockKey()
addAttributeViewKey(attrView, view, av.KeyTypeMSelect, tagKeyID, keyName, "", blockKey.ID)
} else {
tagKeyID = tagKeys[0].ID
}
if tagKeyValues, _ := attrView.GetKeyValues(tagKeyID); nil != tagKeyValues {
val := tagKeyValues.GetValue(addingItemID)
if nil == val {
val = av.GetAttributeViewDefaultValue(ast.NewNodeID(), tagKeyID, addingItemID, av.KeyTypeMSelect)
for _, tag := range tags {
val.MSelect = append(val.MSelect, &av.ValueSelect{Content: tag, Color: fmt.Sprintf("%d", 1+rand.Intn(14))})
}
tagKeyValues.Values = append(tagKeyValues.Values, val)
} else {
for _, t := range tags {
exist := false
for _, v := range val.MSelect {
if v.Content == t {
exist = true
break
}
}
if !exist {
val.MSelect = append(val.MSelect, &av.ValueSelect{Content: t, Color: fmt.Sprintf("%d", 1+rand.Intn(14))})
}
}
}
for _, valOpt := range val.MSelect {
if opt := tagKeyValues.Key.GetOption(valOpt.Content); nil == opt {
opt = &av.SelectOption{Name: valOpt.Content, Color: valOpt.Color}
tagKeyValues.Key.Options = append(tagKeyValues.Key.Options, opt)
} else {
valOpt.Color = opt.Color
}
}
}
}
func fillDefaultValue(attrView *av.AttributeView, view, groupView *av.View, previousItemID, addingItemID string) { func fillDefaultValue(attrView *av.AttributeView, view, groupView *av.View, previousItemID, addingItemID string) {
defaultValues := getAttrViewAddingBlockDefaultValues(attrView, view, groupView, previousItemID, addingItemID) defaultValues := getAttrViewAddingBlockDefaultValues(attrView, view, groupView, previousItemID, addingItemID)
for keyID, newValue := range defaultValues { for keyID, newValue := range defaultValues {
@ -4029,73 +3966,70 @@ func AddAttributeViewKey(avID, keyID, keyName, keyType, keyIcon, previousKeyID s
return return
} }
addAttributeViewKey(attrView, currentView, av.KeyType(keyType), keyID, keyName, keyIcon, previousKeyID) keyTyp := av.KeyType(keyType)
switch keyTyp {
err = av.SaveAttributeView(attrView)
return
}
func addAttributeViewKey(attrView *av.AttributeView, view *av.View, keyType av.KeyType, keyID, keyName, keyIcon, previousKeyID string) {
switch keyType {
case av.KeyTypeText, av.KeyTypeNumber, av.KeyTypeDate, av.KeyTypeSelect, av.KeyTypeMSelect, av.KeyTypeURL, av.KeyTypeEmail, case av.KeyTypeText, av.KeyTypeNumber, av.KeyTypeDate, av.KeyTypeSelect, av.KeyTypeMSelect, av.KeyTypeURL, av.KeyTypeEmail,
av.KeyTypePhone, av.KeyTypeMAsset, av.KeyTypeTemplate, av.KeyTypeCreated, av.KeyTypeUpdated, av.KeyTypeCheckbox, av.KeyTypePhone, av.KeyTypeMAsset, av.KeyTypeTemplate, av.KeyTypeCreated, av.KeyTypeUpdated, av.KeyTypeCheckbox,
av.KeyTypeRelation, av.KeyTypeRollup, av.KeyTypeLineNumber: av.KeyTypeRelation, av.KeyTypeRollup, av.KeyTypeLineNumber:
key := av.NewKey(keyID, keyName, keyIcon, keyType) key := av.NewKey(keyID, keyName, keyIcon, keyTyp)
if av.KeyTypeRollup == keyType { if av.KeyTypeRollup == keyTyp {
key.Rollup = &av.Rollup{Calc: &av.RollupCalc{Operator: av.CalcOperatorNone}} key.Rollup = &av.Rollup{Calc: &av.RollupCalc{Operator: av.CalcOperatorNone}}
} }
attrView.KeyValues = append(attrView.KeyValues, &av.KeyValues{Key: key}) attrView.KeyValues = append(attrView.KeyValues, &av.KeyValues{Key: key})
for _, v := range attrView.Views { for _, view := range attrView.Views {
newField := &av.BaseField{ID: key.ID} newField := &av.BaseField{ID: key.ID}
if nil != v.Table { if nil != view.Table {
newField.Wrap = v.Table.WrapField newField.Wrap = view.Table.WrapField
if "" == previousKeyID { if "" == previousKeyID {
if av.LayoutTypeGallery == view.LayoutType { if av.LayoutTypeGallery == currentView.LayoutType {
// 如果当前视图是卡片视图则添加到最后 // 如果当前视图是卡片视图则添加到最后
v.Table.Columns = append(v.Table.Columns, &av.ViewTableColumn{BaseField: newField}) view.Table.Columns = append(view.Table.Columns, &av.ViewTableColumn{BaseField: newField})
} else { } else {
v.Table.Columns = append([]*av.ViewTableColumn{{BaseField: newField}}, v.Table.Columns...) view.Table.Columns = append([]*av.ViewTableColumn{{BaseField: newField}}, view.Table.Columns...)
} }
} else { } else {
added := false added := false
for i, column := range v.Table.Columns { for i, column := range view.Table.Columns {
if column.ID == previousKeyID { if column.ID == previousKeyID {
v.Table.Columns = append(v.Table.Columns[:i+1], append([]*av.ViewTableColumn{{BaseField: newField}}, v.Table.Columns[i+1:]...)...) view.Table.Columns = append(view.Table.Columns[:i+1], append([]*av.ViewTableColumn{{BaseField: newField}}, view.Table.Columns[i+1:]...)...)
added = true added = true
break break
} }
} }
if !added { if !added {
v.Table.Columns = append(v.Table.Columns, &av.ViewTableColumn{BaseField: newField}) view.Table.Columns = append(view.Table.Columns, &av.ViewTableColumn{BaseField: newField})
} }
} }
} }
if nil != v.Gallery { if nil != view.Gallery {
newField.Wrap = v.Gallery.WrapField newField.Wrap = view.Gallery.WrapField
if "" == previousKeyID { if "" == previousKeyID {
v.Gallery.CardFields = append(v.Gallery.CardFields, &av.ViewGalleryCardField{BaseField: newField}) view.Gallery.CardFields = append(view.Gallery.CardFields, &av.ViewGalleryCardField{BaseField: newField})
} else { } else {
added := false added := false
for i, field := range v.Gallery.CardFields { for i, field := range view.Gallery.CardFields {
if field.ID == previousKeyID { if field.ID == previousKeyID {
v.Gallery.CardFields = append(v.Gallery.CardFields[:i+1], append([]*av.ViewGalleryCardField{{BaseField: newField}}, v.Gallery.CardFields[i+1:]...)...) view.Gallery.CardFields = append(view.Gallery.CardFields[:i+1], append([]*av.ViewGalleryCardField{{BaseField: newField}}, view.Gallery.CardFields[i+1:]...)...)
added = true added = true
break break
} }
} }
if !added { if !added {
v.Gallery.CardFields = append(v.Gallery.CardFields, &av.ViewGalleryCardField{BaseField: newField}) view.Gallery.CardFields = append(view.Gallery.CardFields, &av.ViewGalleryCardField{BaseField: newField})
} }
} }
} }
} }
} }
err = av.SaveAttributeView(attrView)
return
} }
func (tx *Transaction) doUpdateAttrViewColTemplate(operation *Operation) (ret *TxErr) { func (tx *Transaction) doUpdateAttrViewColTemplate(operation *Operation) (ret *TxErr) {