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

Partially fixes #152.
master
Tom Hacohen 4 years ago
parent 6d18d494a7
commit 181ff241da

@ -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

@ -152,7 +152,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 static fromVCalendar(comp: ICAL.Component) { public static fromVCalendar(comp: ICAL.Component) {

Loading…
Cancel
Save