mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-09-22 00:20:47 +02:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
4767e399e2
5 changed files with 18 additions and 16 deletions
|
@ -104,6 +104,10 @@ export const objEquals = (a: any, b: any): boolean => {
|
|||
};
|
||||
|
||||
export const duplicateNameAddOne = (name:string) => {
|
||||
if (!name) {
|
||||
return "";
|
||||
}
|
||||
|
||||
const nameMatch = name.match(/^(.*) \((\d+)\)$/);
|
||||
if (nameMatch) {
|
||||
name = `${nameMatch[1]} (${parseInt(nameMatch[2]) + 1})`;
|
||||
|
|
|
@ -193,19 +193,8 @@ func (value *Value) Filter(filter *ViewFilter, attrView *AttributeView, itemID s
|
|||
switch filter.Qualifier {
|
||||
case FilterQuantifierUndefined, FilterQuantifierAny:
|
||||
for _, content := range value.Rollup.Contents {
|
||||
switch filter.Operator {
|
||||
case FilterOperatorContains:
|
||||
if content.filter(filter.Value.Rollup.Contents[0], filter.RelativeDate, filter.RelativeDate2, filter.Operator) {
|
||||
return true
|
||||
}
|
||||
case FilterOperatorDoesNotContain:
|
||||
if !content.filter(filter.Value.Rollup.Contents[0], filter.RelativeDate, filter.RelativeDate2, filter.Operator) {
|
||||
return false
|
||||
}
|
||||
default:
|
||||
if content.filter(filter.Value.Rollup.Contents[0], filter.RelativeDate, filter.RelativeDate2, filter.Operator) {
|
||||
return true
|
||||
}
|
||||
if content.filter(filter.Value.Rollup.Contents[0], filter.RelativeDate, filter.RelativeDate2, filter.Operator) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
case FilterQuantifierAll:
|
||||
|
|
|
@ -1094,7 +1094,9 @@ func DuplicateDatabaseBlock(avID string) (newAvID, newBlockID string, err error)
|
|||
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 {
|
||||
if nil != keyValues.Key.Relation && keyValues.Key.Relation.IsTwoWay {
|
||||
|
|
|
@ -43,7 +43,7 @@ import (
|
|||
func resetTree(tree *parse.Tree, titleSuffix string, removeAvBinding bool) {
|
||||
tree.ID = ast.NewNodeID()
|
||||
tree.Root.ID = tree.ID
|
||||
|
||||
title := tree.Root.IALAttr("title")
|
||||
if "" != titleSuffix {
|
||||
if t, parseErr := time.Parse("20060102150405", util.TimeFromID(tree.ID)); nil == parseErr {
|
||||
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
|
||||
if Conf.language(16) == title {
|
||||
titleSuffix = ""
|
||||
}
|
||||
}
|
||||
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")
|
||||
p := path.Join(path.Dir(tree.Path), tree.ID) + ".sy"
|
||||
tree.Path = p
|
||||
|
|
|
@ -34,6 +34,10 @@ func init() {
|
|||
}
|
||||
|
||||
func GetDuplicateName(master string) (ret string) {
|
||||
if "" == master {
|
||||
return
|
||||
}
|
||||
|
||||
ret = master + " (1)"
|
||||
r := regexp.MustCompile("^(.*) \\((\\d+)\\)$")
|
||||
m := r.FindStringSubmatch(master)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue