From 9b2cf1ba32c4760e4febe3ad2a6d7af7661b23d9 Mon Sep 17 00:00:00 2001 From: Sascha Date: Tue, 30 Mar 2021 11:45:26 +0200 Subject: Add/Remove from filtering while creating new label works --- webui/src/pages/bug/labels/LabelMenu.tsx | 58 +++++++------------------------- 1 file changed, 12 insertions(+), 46 deletions(-) diff --git a/webui/src/pages/bug/labels/LabelMenu.tsx b/webui/src/pages/bug/labels/LabelMenu.tsx index 2422e865..3551ecd6 100644 --- a/webui/src/pages/bug/labels/LabelMenu.tsx +++ b/webui/src/pages/bug/labels/LabelMenu.tsx @@ -226,7 +226,6 @@ function LabelMenu({ bug }: Props) { const [setLabelMutation] = useSetLabelMutation(); - useEffect(() => {}); function toggleLabel(key: string, active: boolean) { const labels: string[] = active ? selectedLabels.filter((label) => label !== key) @@ -237,10 +236,6 @@ function LabelMenu({ bug }: Props) { } function diff(oldState: string[], newState: string[]) { - console.log('oldState / Buglabels'); - console.log(oldState); - console.log('newState / Selected'); - console.log(newState); const added = newState.filter((x) => !oldState.includes(x)); const removed = oldState.filter((x) => !newState.includes(x)); return { @@ -249,15 +244,14 @@ function LabelMenu({ bug }: Props) { }; } - const changeBugLabels = ( - bugLabels = bug.labels.map((l) => l.name), - selectedLabel = selectedLabels - ) => { - const labels = diff(bugLabels, selectedLabel); - console.log('changeBugLabels'); - console.log(labels); - console.log('bugLabelNames'); + const changeBugLabels = (selectedLabels: string[]) => { + console.log('CBL'); + console.log('selected labels'); + console.log(selectedLabels); + console.log('buglabels'); console.log(bugLabelNames); + const labels = diff(bugLabelNames, selectedLabels); + console.log(labels); if (labels.added.length > 0 || labels.removed.length > 0) { setLabelMutation({ variables: { @@ -281,6 +275,7 @@ function LabelMenu({ bug }: Props) { }) .then((res) => { console.log(res); + setSelectedLabels(selectedLabels); setBugLabelNames(selectedLabels); }) .catch((e) => console.log(e)); @@ -291,39 +286,10 @@ function LabelMenu({ bug }: Props) { return selectedLabels.includes(key); } + //TODO label wont removed, if a filter hides it! function createNewLabel(name: string) { - console.log('CREATE NEW LABEL'); - setLabelMutation({ - variables: { - input: { - prefix: bug.id, - added: [name], - }, - }, - refetchQueries: [ - // TODO: update the cache instead of refetching - { - query: GetBugDocument, - variables: { id: bug.id }, - }, - { - query: ListLabelsDocument, - }, - ], - awaitRefetchQueries: true, - }) - .then((res) => { - console.log(res); - - const tmp = selectedLabels.concat([name]); - console.log(tmp); - console.log('tmp'); - setSelectedLabels(tmp); - setBugLabelNames(bugLabelNames.concat([name])); - - changeBugLabels(bugLabelNames.concat([name]), tmp); - }) - .catch((e) => console.log('createnewLabelError' + e)); + console.log('CREATE NEW LABEL: ' + name); + changeBugLabels(selectedLabels.concat([name])); } let labels: any = []; @@ -341,7 +307,7 @@ function LabelMenu({ bug }: Props) { return ( changeBugLabels(selectedLabels)} itemActive={isActive} toggleLabel={toggleLabel} dropdown={labels} -- cgit