From e23821a7cbe73fda420e4bcaaa2dbf5a89b56cc9 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Fri, 12 Feb 2021 18:04:10 +0100 Subject: [PATCH] WIP on filter ref #52 --- src/components/RunnersOverview.svelte | 37 +++++++++++++++++++++------ 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/src/components/RunnersOverview.svelte b/src/components/RunnersOverview.svelte index 79962d74..e73d901d 100644 --- a/src/components/RunnersOverview.svelte +++ b/src/components/RunnersOverview.svelte @@ -16,6 +16,7 @@ $: filter__teams = selectedFilter_teams||[]; $: filter__orgs = selectedFilter_orgs||[]; $:filterGroupIDs=filter__teams.concat(filter__orgs).map(i=>i.value) + $: allteams = []; $: teams = []; $: orgs = []; $:selectgroups=orgs.map(function(g){ @@ -25,14 +26,26 @@ return {value:g.id,label:g.name} }) RunnerTeamService.runnerTeamControllerGetAll().then((val) => { - teams = val; - }); - RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => { - orgs = val; + allteams = val; + RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => { + orgs = val; + teams = allteams; + const org_ids=orgs.map(o=>o.id) + for (const i of org_ids) { + teams=teams.filter(t=>t.parentGroup.id!==i) + } + }); }); +
+

DEBUG

{JSON.stringify(filterGroupIDs)} +
+{JSON.stringify(teams)} +
+{JSON.stringify(orgs)} +
{#if store.state.jwtinfo.userdetails.permissions.includes('RUNNER:GET')} {#await runners_promise}
+ selectedFilter_teams=null; + teams = allteams; + console.log(teams); + const org_ids=orgs.map(o=>o.id) + console.log(org_ids); + for (const i of org_ids) { + teams=teams.filter(t=>t.parentGroup.id!==i) + } + console.log(teams); + }} selectedValue={selectedFilter_orgs} placeholder="Filter by Organization" containerClasses="mt-1 py-2 px-3 border border-gray-300 bg-white rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm" items={selectgroups} isMulti={true}> + }} selectedValue={selectedFilter_teams} placeholder="Filter by Team" containerClasses="mt-1 py-2 px-3 border border-gray-300 bg-white rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm" items={selectteams} isMulti={true}>