@@ -22,6 +22,7 @@
 | 
				
			|||||||
		"svelte-filepond": "0.0.1",
 | 
							"svelte-filepond": "0.0.1",
 | 
				
			||||||
		"svelte-focus-trap": "1.0.1",
 | 
							"svelte-focus-trap": "1.0.1",
 | 
				
			||||||
		"svelte-i18n": "3.3.0",
 | 
							"svelte-i18n": "3.3.0",
 | 
				
			||||||
 | 
							"svelte-select": "^3.16.1",
 | 
				
			||||||
		"tailwindcss": "2.0.2",
 | 
							"tailwindcss": "2.0.2",
 | 
				
			||||||
		"tinro": "0.5.12",
 | 
							"tinro": "0.5.12",
 | 
				
			||||||
		"toastify-js": "1.9.3",
 | 
							"toastify-js": "1.9.3",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,16 +1,38 @@
 | 
				
			|||||||
<script>
 | 
					<script>
 | 
				
			||||||
  import { _ } from "svelte-i18n";
 | 
					  import { _ } from "svelte-i18n";
 | 
				
			||||||
  import { RunnerService } from "@odit/lfk-client-js";
 | 
					  import { RunnerService,RunnerTeamService,
 | 
				
			||||||
 | 
					    RunnerOrganizationService, } from "@odit/lfk-client-js";
 | 
				
			||||||
  import store from "../store";
 | 
					  import store from "../store";
 | 
				
			||||||
  import RunnersEmptyState from "./RunnersEmptyState.svelte";
 | 
					  import RunnersEmptyState from "./RunnersEmptyState.svelte";
 | 
				
			||||||
 | 
					  import Select from 'svelte-select';
 | 
				
			||||||
  $: searchvalue = "";
 | 
					  $: searchvalue = "";
 | 
				
			||||||
  $: active_deletes = [];
 | 
					  $: active_deletes = [];
 | 
				
			||||||
  export let current_runners = [];
 | 
					  export let current_runners = [];
 | 
				
			||||||
  const runners_promise = RunnerService.runnerControllerGetAll().then((val) => {
 | 
					  const runners_promise = RunnerService.runnerControllerGetAll().then((val) => {
 | 
				
			||||||
    current_runners = val;
 | 
					    current_runners = val;
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
 | 
					  $: selectedFilter_teams = null;
 | 
				
			||||||
 | 
					  $: selectedFilter_orgs = null;
 | 
				
			||||||
 | 
					  $: filter__teams = selectedFilter_teams||[];
 | 
				
			||||||
 | 
					  $: filter__orgs = selectedFilter_orgs||[];
 | 
				
			||||||
 | 
					  $:filterGroupIDs=filter__teams.concat(filter__orgs).map(i=>i.value)
 | 
				
			||||||
 | 
					  $: teams = [];
 | 
				
			||||||
 | 
					  $: orgs = [];
 | 
				
			||||||
 | 
					  $:selectgroups=orgs.map(function(g){
 | 
				
			||||||
 | 
					    return {value:g.id,label:g.name}
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
 | 
					  $:selectteams=teams.map(function(g){
 | 
				
			||||||
 | 
					    return {value:g.id,label:g.name}
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
 | 
					  RunnerTeamService.runnerTeamControllerGetAll().then((val) => {
 | 
				
			||||||
 | 
					    teams = val;
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => {
 | 
				
			||||||
 | 
					    orgs = val;
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{JSON.stringify(filterGroupIDs)}
 | 
				
			||||||
{#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
 | 
				
			||||||
@@ -29,6 +51,18 @@
 | 
				
			|||||||
        placeholder={$_('datatable.search')}
 | 
					        placeholder={$_('datatable.search')}
 | 
				
			||||||
        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">
 | 
				
			||||||
 | 
					        <label for="country" class="text-sm font-medium text-gray-700">Filter by Organization</label>
 | 
				
			||||||
 | 
					        <Select on:select={(event)=>{
 | 
				
			||||||
 | 
					          console.log(event.detail);
 | 
				
			||||||
 | 
					          selectedFilter_orgs=event.detail
 | 
				
			||||||
 | 
					                  }} selectedValue={selectedFilter_orgs} placeholder={$_('datatable.search')} 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)=>{
 | 
				
			||||||
 | 
					console.log(event.detail);
 | 
				
			||||||
 | 
					selectedFilter_teams=event.detail
 | 
				
			||||||
 | 
					        }} selectedValue={selectedFilter_teams} placeholder={$_('datatable.search')} 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
 | 
				
			||||||
        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">
 | 
				
			||||||
        <table class="divide-y divide-gray-200 w-full">
 | 
					        <table class="divide-y divide-gray-200 w-full">
 | 
				
			||||||
@@ -65,7 +99,8 @@
 | 
				
			|||||||
                .toString()
 | 
					                .toString()
 | 
				
			||||||
                .toLowerCase()
 | 
					                .toLowerCase()
 | 
				
			||||||
                .includes(searchvalue)}
 | 
					                .includes(searchvalue)}
 | 
				
			||||||
                <tr data-rowid="user_{runner.id}">
 | 
					                {#if filterGroupIDs.includes(runner.group.id)||filterGroupIDs.length===0}
 | 
				
			||||||
 | 
					                <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">
 | 
				
			||||||
                      <div class="ml-4">
 | 
					                      <div class="ml-4">
 | 
				
			||||||
@@ -138,6 +173,7 @@
 | 
				
			|||||||
                    </td>
 | 
					                    </td>
 | 
				
			||||||
                  {/if}
 | 
					                  {/if}
 | 
				
			||||||
                </tr>
 | 
					                </tr>
 | 
				
			||||||
 | 
					                {/if}
 | 
				
			||||||
              {/if}
 | 
					              {/if}
 | 
				
			||||||
            {/each}
 | 
					            {/each}
 | 
				
			||||||
          </tbody>
 | 
					          </tbody>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user