mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-16 22:50:13 +01:00
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:
parent
4d8bc1672c
commit
ba10d96a10
16 changed files with 36 additions and 124 deletions
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "جدول",
|
||||
"gallery": "بطاقة",
|
||||
"key": "المفتاح الرئيسي",
|
||||
"select": "تحديد",
|
||||
"tag": "وسم"
|
||||
"select": "تحديد"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "فشل استعلام دفتر الملاحظات",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "Tabelle",
|
||||
"gallery": "Karte",
|
||||
"key": "Primärschlüssel",
|
||||
"select": "Auswählen",
|
||||
"tag": "Tag"
|
||||
"select": "Auswählen"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "Abfrage des Notizbuchs fehlgeschlagen",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "Table",
|
||||
"gallery": "Card",
|
||||
"key": "Primary Key",
|
||||
"select": "Select",
|
||||
"tag": "Tag"
|
||||
"select": "Select"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "Query notebook failed",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "Tabla",
|
||||
"gallery": "Tarjeta",
|
||||
"key": "Clave principal",
|
||||
"select": "Selección",
|
||||
"tag": "Etiqueta"
|
||||
"select": "Selección"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "Consulta al cuaderno de notas fallido",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "Tableau",
|
||||
"gallery": "Carte",
|
||||
"key": "Clé primaire",
|
||||
"select": "Sélectionner",
|
||||
"tag": "Étiquette"
|
||||
"select": "Sélectionner"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "Échec du cahier de requêtes",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "טבלה",
|
||||
"gallery": "כרטיס",
|
||||
"key": "מפתח ראשי",
|
||||
"select": "בחר",
|
||||
"tag": "תגית"
|
||||
"select": "בחר"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "שאלת מחברת נכשלה",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "Tabella",
|
||||
"gallery": "Scheda",
|
||||
"key": "Chiave primaria",
|
||||
"select": "Seleziona",
|
||||
"tag": "Etichetta"
|
||||
"select": "Seleziona"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "Query del taccuino fallita",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "テーブル",
|
||||
"gallery": "カード",
|
||||
"key": "プライマリキー",
|
||||
"select": "選択",
|
||||
"tag": "タグ"
|
||||
"select": "選択"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "ノートブックのクエリに失敗しました",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "Tabela",
|
||||
"gallery": "Karta",
|
||||
"key": "Klucz główny",
|
||||
"select": "Wybierz",
|
||||
"tag": "Tag"
|
||||
"select": "Wybierz"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "Nie udało się zapytać o notes",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "Tabela",
|
||||
"gallery": "Cartão",
|
||||
"key": "Chave Primária",
|
||||
"select": "Selecionar",
|
||||
"tag": "Etiqueta"
|
||||
"select": "Selecionar"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "Falha ao consultar o bloco de notas",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "Таблица",
|
||||
"gallery": "Карточка",
|
||||
"key": "Первичный ключ",
|
||||
"select": "Выбрать",
|
||||
"tag": "Тег"
|
||||
"select": "Выбрать"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "Не удалось запросить блокнот",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "表格",
|
||||
"gallery": "卡片",
|
||||
"key": "主鍵",
|
||||
"select": "單選",
|
||||
"tag": "標籤"
|
||||
"select": "單選"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "查詢筆記本失敗",
|
||||
|
|
|
|||
|
|
@ -1385,8 +1385,7 @@
|
|||
"table": "表格",
|
||||
"gallery": "卡片",
|
||||
"key": "主键",
|
||||
"select": "单选",
|
||||
"tag": "标签"
|
||||
"select": "单选"
|
||||
},
|
||||
"_kernel": {
|
||||
"0": "查询笔记本失败",
|
||||
|
|
|
|||
|
|
@ -634,15 +634,6 @@ func (av *AttributeView) GetKey(keyID string) (ret *Key, err error) {
|
|||
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) {
|
||||
for _, kv := range av.KeyValues {
|
||||
if KeyTypeBlock == kv.Key.Type {
|
||||
|
|
|
|||
|
|
@ -673,7 +673,7 @@ func Round(val float64, precision int) float64 {
|
|||
|
||||
type ValueSelect struct {
|
||||
Content string `json:"content"`
|
||||
Color string `json:"color"` // 1-14
|
||||
Color string `json:"color"`
|
||||
}
|
||||
|
||||
func MSelectExistOption(mSelect []*ValueSelect, opt string) bool {
|
||||
|
|
|
|||
|
|
@ -3152,7 +3152,6 @@ func addAttributeViewBlock(now int64, avID, dbBlockID, viewID, groupID, previous
|
|||
|
||||
if !isDetached {
|
||||
bindBlockAv0(tx, avID, node, tree)
|
||||
fillTags(attrView, view, addingItemID, node)
|
||||
}
|
||||
|
||||
// 在所有视图上添加项目
|
||||
|
|
@ -3198,68 +3197,6 @@ func addAttributeViewBlock(now int64, avID, dbBlockID, viewID, groupID, previous
|
|||
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) {
|
||||
defaultValues := getAttrViewAddingBlockDefaultValues(attrView, view, groupView, previousItemID, addingItemID)
|
||||
for keyID, newValue := range defaultValues {
|
||||
|
|
@ -4029,73 +3966,70 @@ func AddAttributeViewKey(avID, keyID, keyName, keyType, keyIcon, previousKeyID s
|
|||
return
|
||||
}
|
||||
|
||||
addAttributeViewKey(attrView, currentView, av.KeyType(keyType), keyID, keyName, keyIcon, previousKeyID)
|
||||
|
||||
err = av.SaveAttributeView(attrView)
|
||||
return
|
||||
}
|
||||
|
||||
func addAttributeViewKey(attrView *av.AttributeView, view *av.View, keyType av.KeyType, keyID, keyName, keyIcon, previousKeyID string) {
|
||||
switch keyType {
|
||||
keyTyp := av.KeyType(keyType)
|
||||
switch keyTyp {
|
||||
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.KeyTypeRelation, av.KeyTypeRollup, av.KeyTypeLineNumber:
|
||||
|
||||
key := av.NewKey(keyID, keyName, keyIcon, keyType)
|
||||
if av.KeyTypeRollup == keyType {
|
||||
key := av.NewKey(keyID, keyName, keyIcon, keyTyp)
|
||||
if av.KeyTypeRollup == keyTyp {
|
||||
key.Rollup = &av.Rollup{Calc: &av.RollupCalc{Operator: av.CalcOperatorNone}}
|
||||
}
|
||||
|
||||
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}
|
||||
if nil != v.Table {
|
||||
newField.Wrap = v.Table.WrapField
|
||||
if nil != view.Table {
|
||||
newField.Wrap = view.Table.WrapField
|
||||
|
||||
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 {
|
||||
v.Table.Columns = append([]*av.ViewTableColumn{{BaseField: newField}}, v.Table.Columns...)
|
||||
view.Table.Columns = append([]*av.ViewTableColumn{{BaseField: newField}}, view.Table.Columns...)
|
||||
}
|
||||
} else {
|
||||
added := false
|
||||
for i, column := range v.Table.Columns {
|
||||
for i, column := range view.Table.Columns {
|
||||
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
|
||||
break
|
||||
}
|
||||
}
|
||||
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 {
|
||||
newField.Wrap = v.Gallery.WrapField
|
||||
if nil != view.Gallery {
|
||||
newField.Wrap = view.Gallery.WrapField
|
||||
|
||||
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 {
|
||||
added := false
|
||||
for i, field := range v.Gallery.CardFields {
|
||||
for i, field := range view.Gallery.CardFields {
|
||||
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
|
||||
break
|
||||
}
|
||||
}
|
||||
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) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue