open-webui/src/lib/components/layout/Sidebar/Folders.svelte

30 lines
709 B
Svelte
Raw Normal View History

2024-10-17 04:05:03 +00:00
<script lang="ts">
2024-10-17 06:06:53 +00:00
import { createEventDispatcher } from 'svelte';
const dispatch = createEventDispatcher();
2024-10-17 04:05:03 +00:00
import RecursiveFolder from './RecursiveFolder.svelte';
export let folders = {};
let folderList = [];
// Get the list of folders that have no parent, sorted by name alphabetically
$: folderList = Object.keys(folders)
.filter((key) => folders[key].parent_id === null)
2024-10-17 04:49:22 +00:00
.sort((a, b) =>
folders[a].name.localeCompare(folders[b].name, undefined, {
numeric: true,
sensitivity: 'base'
})
);
2024-10-17 04:05:03 +00:00
</script>
{#each folderList as folderId (folderId)}
2024-10-17 06:06:53 +00:00
<RecursiveFolder
className="px-2"
{folders}
{folderId}
on:update={(e) => {
dispatch('update', e.detail);
}}
/>
2024-10-17 04:05:03 +00:00
{/each}