mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-09-22 00:20:47 +02:00
🎨 Improve duplicating doc/av https://github.com/siyuan-note/siyuan/issues/15786
This commit is contained in:
parent
d2f990a830
commit
305bd9dfb0
4 changed files with 16 additions and 3 deletions
|
@ -104,6 +104,10 @@ export const objEquals = (a: any, b: any): boolean => {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const duplicateNameAddOne = (name:string) => {
|
export const duplicateNameAddOne = (name:string) => {
|
||||||
|
if (!name) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
const nameMatch = name.match(/^(.*) \((\d+)\)$/);
|
const nameMatch = name.match(/^(.*) \((\d+)\)$/);
|
||||||
if (nameMatch) {
|
if (nameMatch) {
|
||||||
name = `${nameMatch[1]} (${parseInt(nameMatch[2]) + 1})`;
|
name = `${nameMatch[1]} (${parseInt(nameMatch[2]) + 1})`;
|
||||||
|
|
|
@ -1094,7 +1094,9 @@ func DuplicateDatabaseBlock(avID string) (newAvID, newBlockID string, err error)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
newAv.Name = oldAv.Name + " (Duplicated " + time.Now().Format("2006-01-02 15:04:05") + ")"
|
if "" != newAv.Name {
|
||||||
|
newAv.Name = oldAv.Name + " (Duplicated " + time.Now().Format("2006-01-02 15:04:05") + ")"
|
||||||
|
}
|
||||||
|
|
||||||
for _, keyValues := range newAv.KeyValues {
|
for _, keyValues := range newAv.KeyValues {
|
||||||
if nil != keyValues.Key.Relation && keyValues.Key.Relation.IsTwoWay {
|
if nil != keyValues.Key.Relation && keyValues.Key.Relation.IsTwoWay {
|
||||||
|
|
|
@ -43,7 +43,7 @@ import (
|
||||||
func resetTree(tree *parse.Tree, titleSuffix string, removeAvBinding bool) {
|
func resetTree(tree *parse.Tree, titleSuffix string, removeAvBinding bool) {
|
||||||
tree.ID = ast.NewNodeID()
|
tree.ID = ast.NewNodeID()
|
||||||
tree.Root.ID = tree.ID
|
tree.Root.ID = tree.ID
|
||||||
|
title := tree.Root.IALAttr("title")
|
||||||
if "" != titleSuffix {
|
if "" != titleSuffix {
|
||||||
if t, parseErr := time.Parse("20060102150405", util.TimeFromID(tree.ID)); nil == parseErr {
|
if t, parseErr := time.Parse("20060102150405", util.TimeFromID(tree.ID)); nil == parseErr {
|
||||||
titleSuffix += " " + t.Format("2006-01-02 15:04:05")
|
titleSuffix += " " + t.Format("2006-01-02 15:04:05")
|
||||||
|
@ -52,9 +52,12 @@ func resetTree(tree *parse.Tree, titleSuffix string, removeAvBinding bool) {
|
||||||
}
|
}
|
||||||
titleSuffix = "(" + titleSuffix + ")"
|
titleSuffix = "(" + titleSuffix + ")"
|
||||||
titleSuffix = " " + titleSuffix
|
titleSuffix = " " + titleSuffix
|
||||||
|
if Conf.language(16) == title {
|
||||||
|
titleSuffix = ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
tree.Root.SetIALAttr("id", tree.ID)
|
tree.Root.SetIALAttr("id", tree.ID)
|
||||||
tree.Root.SetIALAttr("title", tree.Root.IALAttr("title")+titleSuffix)
|
tree.Root.SetIALAttr("title", title+titleSuffix)
|
||||||
tree.Root.RemoveIALAttr("scroll")
|
tree.Root.RemoveIALAttr("scroll")
|
||||||
p := path.Join(path.Dir(tree.Path), tree.ID) + ".sy"
|
p := path.Join(path.Dir(tree.Path), tree.ID) + ".sy"
|
||||||
tree.Path = p
|
tree.Path = p
|
||||||
|
|
|
@ -34,6 +34,10 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetDuplicateName(master string) (ret string) {
|
func GetDuplicateName(master string) (ret string) {
|
||||||
|
if "" == master {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
ret = master + " (1)"
|
ret = master + " (1)"
|
||||||
r := regexp.MustCompile("^(.*) \\((\\d+)\\)$")
|
r := regexp.MustCompile("^(.*) \\((\\d+)\\)$")
|
||||||
m := r.FindStringSubmatch(master)
|
m := r.FindStringSubmatch(master)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue