open-webui/src/lib/components/layout/Sidebar/Folders.svelte
Timothy Jaeryang Baek 6a4542a321 refac: folder delete
2025-07-14 19:09:54 +04:00

40 lines
923 B
Svelte

<script lang="ts">
import { createEventDispatcher } from 'svelte';
const dispatch = createEventDispatcher();
import RecursiveFolder from './RecursiveFolder.svelte';
export let folders = {};
export let shiftKey = false;
export let onDelete = (folderId) => {};
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)
.sort((a, b) =>
folders[a].name.localeCompare(folders[b].name, undefined, {
numeric: true,
sensitivity: 'base'
})
);
</script>
{#each folderList as folderId (folderId)}
<RecursiveFolder
className=""
{folders}
{folderId}
{shiftKey}
{onDelete}
on:import={(e) => {
dispatch('import', e.detail);
}}
on:update={(e) => {
dispatch('update', e.detail);
}}
on:change={(e) => {
dispatch('change', e.detail);
}}
/>
{/each}