fix(quick add magic): don't create a new label multiple times if it is used in multiple tasks
Resolves https://github.com/go-vikunja/frontend/issues/94
This commit is contained in:
@ -72,7 +72,7 @@ export const parseTaskText = (text: string, prefixesMode: PrefixMode = PrefixMod
|
||||
return result
|
||||
}
|
||||
|
||||
result.labels = getItemsFromPrefix(text, prefixes.label)
|
||||
result.labels = getLabelsFromPrefix(text, prefixes.label) ?? []
|
||||
result.text = cleanupItemText(result.text, result.labels, prefixes.label)
|
||||
|
||||
result.list = getListFromPrefix(result.text, prefixes.list)
|
||||
@ -142,6 +142,17 @@ export const getListFromPrefix = (text: string, listPrefix: string | null = null
|
||||
return lists.length > 0 ? lists[0] : null
|
||||
}
|
||||
|
||||
export const getLabelsFromPrefix = (text: string, listPrefix: string | null = null): string[] | null => {
|
||||
if (listPrefix === null) {
|
||||
const prefixes = PREFIXES[getQuickAddMagicMode()]
|
||||
if (prefixes === undefined) {
|
||||
return null
|
||||
}
|
||||
listPrefix = prefixes.label
|
||||
}
|
||||
return getItemsFromPrefix(text, listPrefix)
|
||||
}
|
||||
|
||||
const getPriority = (text: string, prefix: string): number | null => {
|
||||
const ps = getItemsFromPrefix(text, prefix)
|
||||
if (ps.length === 0) {
|
||||
|
Reference in New Issue
Block a user