Tasks: autocomplete from all of the tags options (not just hardcoded).

Partially fixes #152.
master
Tom Hacohen 4 years ago
parent 9f426bf2c8
commit 3ce158ca88

@ -10,7 +10,7 @@ import { setSettings } from "../store/actions";
import { StoreState } from "../store"; import { StoreState } from "../store";
import { List, ListItem, ListSubheader } from "../widgets/List"; import { List, ListItem, ListSubheader } from "../widgets/List";
import { TaskType } from "../pim-types"; import { TaskType, setTaskTags } from "../pim-types";
interface ListItemPropsType { interface ListItemPropsType {
name: string | null; name: string | null;
@ -49,6 +49,8 @@ export default React.memo(function Sidebar(props: { tasks: TaskType[] }) {
tasks.forEach((task) => task.tags.forEach((tag) => { tasks.forEach((task) => task.tags.forEach((tag) => {
tags.set(tag, (tags.get(tag) ?? 0) + 1); tags.set(tag, (tags.get(tag) ?? 0) + 1);
})); }));
// FIXME: ugly hack to support potential tags. Will be fixed very soon.
setTaskTags(Array.from(tags.keys()));
const tagsList = [...tags].sort(([a], [b]) => a.localeCompare(b)).map(([tag, amount]) => ( const tagsList = [...tags].sort(([a], [b]) => a.localeCompare(b)).map(([tag, amount]) => (
<SidebarListItem <SidebarListItem

@ -159,7 +159,11 @@ export enum TaskPriorityType {
Low = 9 Low = 9
} }
export const TaskTags = ["Work", "Home"]; export let TaskTags = ["Work", "Home"];
export function setTaskTags(tags: string[]) {
TaskTags = tags;
}
export class TaskType extends EventType { export class TaskType extends EventType {
public collectionUid?: string; public collectionUid?: string;

Loading…
Cancel
Save