fix(task): pass a list specified via quick add magic down to all subtasks created via indention
Resolves https://kolaente.dev/vikunja/frontend/issues/2771
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
import {parseDate} from '../helpers/time/parseDate'
|
||||
import {PRIORITIES} from '@/constants/priorities'
|
||||
import {REPEAT_TYPES, type IRepeatAfter, type IRepeatType} from '@/types/IRepeatAfter'
|
||||
import {getQuickAddMagicMode} from '@/helpers/quickAddMagicMode'
|
||||
|
||||
const VIKUNJA_PREFIXES: Prefixes = {
|
||||
label: '*',
|
||||
@ -74,8 +75,7 @@ export const parseTaskText = (text: string, prefixesMode: PrefixMode = PrefixMod
|
||||
result.labels = getItemsFromPrefix(text, prefixes.label)
|
||||
result.text = cleanupItemText(result.text, result.labels, prefixes.label)
|
||||
|
||||
const lists: string[] = getItemsFromPrefix(result.text, prefixes.list)
|
||||
result.list = lists.length > 0 ? lists[0] : null
|
||||
result.list = getListFromPrefix(result.text, prefixes.list)
|
||||
result.text = result.list !== null ? cleanupItemText(result.text, [result.list], prefixes.list) : result.text
|
||||
|
||||
result.priority = getPriority(result.text, prefixes.priority)
|
||||
@ -130,6 +130,18 @@ const getItemsFromPrefix = (text: string, prefix: string): string[] => {
|
||||
return Array.from(new Set(items))
|
||||
}
|
||||
|
||||
export const getListFromPrefix = (text: string, listPrefix: string | null = null): string | null => {
|
||||
if (listPrefix === null) {
|
||||
const prefixes = PREFIXES[getQuickAddMagicMode()]
|
||||
if (prefixes === undefined) {
|
||||
return null
|
||||
}
|
||||
listPrefix = prefixes.list
|
||||
}
|
||||
const lists: string[] = getItemsFromPrefix(text, listPrefix)
|
||||
return lists.length > 0 ? lists[0] : null
|
||||
}
|
||||
|
||||
const getPriority = (text: string, prefix: string): number | null => {
|
||||
const ps = getItemsFromPrefix(text, prefix)
|
||||
if (ps.length === 0) {
|
||||
|
Reference in New Issue
Block a user