parent
e23821a7cb
commit
575b4ce970
@ -12,40 +12,26 @@
|
|||||||
current_runners = val;
|
current_runners = val;
|
||||||
});
|
});
|
||||||
$: selectedFilter_teams = null;
|
$: selectedFilter_teams = null;
|
||||||
$: selectedFilter_orgs = null;
|
$: selectedFilter = null;
|
||||||
$: filter__teams = selectedFilter_teams||[];
|
$: filter__teams = selectedFilter_teams||[];
|
||||||
$: filter__orgs = selectedFilter_orgs||[];
|
$: filter__orgs = selectedFilter||[];
|
||||||
$:filterGroupIDs=filter__teams.concat(filter__orgs).map(i=>i.value)
|
$:filterGroupIDs=filter__teams.concat(filter__orgs).map(i=>i.value)
|
||||||
$: allteams = [];
|
|
||||||
$: teams = [];
|
$: teams = [];
|
||||||
$: orgs = [];
|
$: orgs = [];
|
||||||
$:selectgroups=orgs.map(function(g){
|
$:mappedteams=teams.map(function(g){
|
||||||
return {value:g.id,label:g.name}
|
return {value:g.id,label:g.parentGroup.name+" > "+g.name}
|
||||||
})
|
})
|
||||||
$:selectteams=teams.map(function(g){
|
$:selectgroups=(orgs.map(function(g){
|
||||||
return {value:g.id,label:g.name}
|
return {value:g.id,label:g.name}
|
||||||
})
|
})).concat(mappedteams)
|
||||||
RunnerTeamService.runnerTeamControllerGetAll().then((val) => {
|
RunnerTeamService.runnerTeamControllerGetAll().then((val) => {
|
||||||
allteams = val;
|
teams = val;
|
||||||
RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => {
|
});
|
||||||
orgs = val;
|
RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => {
|
||||||
teams = allteams;
|
orgs = val;
|
||||||
const org_ids=orgs.map(o=>o.id)
|
|
||||||
for (const i of org_ids) {
|
|
||||||
teams=teams.filter(t=>t.parentGroup.id!==i)
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<hr>
|
|
||||||
<h4>DEBUG</h4>
|
|
||||||
{JSON.stringify(filterGroupIDs)}
|
|
||||||
<hr>
|
|
||||||
{JSON.stringify(teams)}
|
|
||||||
<hr>
|
|
||||||
{JSON.stringify(orgs)}
|
|
||||||
<hr>
|
|
||||||
{#if store.state.jwtinfo.userdetails.permissions.includes('RUNNER:GET')}
|
{#if store.state.jwtinfo.userdetails.permissions.includes('RUNNER:GET')}
|
||||||
{#await runners_promise}
|
{#await runners_promise}
|
||||||
<div
|
<div
|
||||||
@ -65,24 +51,10 @@
|
|||||||
aria-label={$_('datatable.search')}
|
aria-label={$_('datatable.search')}
|
||||||
class="gridjs-input gridjs-search-input mb-4" />
|
class="gridjs-input gridjs-search-input mb-4" />
|
||||||
<div class="block mb-1">
|
<div class="block mb-1">
|
||||||
<label for="country" class="text-sm font-medium text-gray-700">Filter by Organization</label>
|
<label for="country" class="text-sm font-medium text-gray-700">Filter by Organization/ Team</label>
|
||||||
<Select on:select={(event)=>{
|
<Select on:select={(event)=>{
|
||||||
console.log("change!");
|
selectedFilter=event.detail
|
||||||
selectedFilter_orgs=event.detail
|
}} selectedValue={selectedFilter} placeholder="Filter by Organization/ 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={selectgroups} isMulti={true}></Select>
|
||||||
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}></Select>
|
|
||||||
<label for="country" class="text-sm font-medium text-gray-700">Filter by Team</label>
|
|
||||||
<Select on:select={(event)=>{
|
|
||||||
selectedFilter_teams=event.detail
|
|
||||||
}} 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}></Select>
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="shadow border-b border-gray-200 sm:rounded-lg overflow-x-scroll">
|
class="shadow border-b border-gray-200 sm:rounded-lg overflow-x-scroll">
|
||||||
@ -120,7 +92,7 @@ selectedFilter_teams=event.detail
|
|||||||
.toString()
|
.toString()
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.includes(searchvalue)}
|
.includes(searchvalue)}
|
||||||
{#if filterGroupIDs.includes(runner.group.id)||filterGroupIDs.length===0}
|
{#if filterGroupIDs.includes(runner.group.id)||filterGroupIDs.includes(runner.group.parentGroup?.id)||filterGroupIDs.length===0}
|
||||||
<tr data-rowid="user_{runner.id}" data-groupid={runner.group.id}>
|
<tr data-rowid="user_{runner.id}" data-groupid={runner.group.id}>
|
||||||
<td class="px-6 py-4 whitespace-nowrap">
|
<td class="px-6 py-4 whitespace-nowrap">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user