mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 01:26:01 +00:00
app object list
This commit is contained in:
37
packages/web/src/appobj/AppObjectGroup.svelte
Normal file
37
packages/web/src/appobj/AppObjectGroup.svelte
Normal file
@@ -0,0 +1,37 @@
|
||||
<script>
|
||||
import AppObjectListItem from './AppObjectListItem.svelte';
|
||||
|
||||
export let group;
|
||||
export let items;
|
||||
export let module;
|
||||
|
||||
let isExpanded = true;
|
||||
|
||||
$: filtered = items.filter(x => x.isMatched);
|
||||
$: countText = filtered.length < items.length ? `${filtered.length}/${items.length}` : `${items.length}`;
|
||||
</script>
|
||||
|
||||
<div class="group" on:click={() => (isExpanded = !isExpanded)}>
|
||||
{group}
|
||||
{items && `(${countText})`}
|
||||
</div>
|
||||
|
||||
{#if isExpanded}
|
||||
{#each filtered as item (module.extractKey(item.data))}
|
||||
<AppObjectListItem {module} data={item.data} on:objectClick />
|
||||
{/each}
|
||||
{/if}
|
||||
|
||||
<style>
|
||||
.group {
|
||||
user-select: none;
|
||||
padding: 5px;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.group:hover {
|
||||
background-color: var(--theme-bg-hover);
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user