mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 16:36:00 +00:00
archive widget
This commit is contained in:
33
packages/web/src/appobj/ArchiveFolderAppObject.svelte
Normal file
33
packages/web/src/appobj/ArchiveFolderAppObject.svelte
Normal file
@@ -0,0 +1,33 @@
|
||||
<script lang="ts" context="module">
|
||||
export const extractKey = data => data.name;
|
||||
export const createMatcher = data => filter => filterName(filter, data.name);
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
import { filterName } from 'dbgate-datalib';
|
||||
|
||||
import { currentArchive } from '../stores';
|
||||
|
||||
import axiosInstance from '../utility/axiosInstance';
|
||||
import AppObjectCore from './AppObjectCore.svelte';
|
||||
|
||||
export let data;
|
||||
|
||||
const handleDelete = () => {
|
||||
axiosInstance.post('archive/delete-folder', { folder: data.name });
|
||||
};
|
||||
|
||||
function createMenu() {
|
||||
return [data.name != 'default' && { text: 'Delete', onClick: handleDelete }];
|
||||
}
|
||||
</script>
|
||||
|
||||
<AppObjectCore
|
||||
{...$$restProps}
|
||||
{data}
|
||||
title={data.name}
|
||||
icon="img archive-folder"
|
||||
isBold={data.name == $currentArchive}
|
||||
on:click={() => ($currentArchive = data.name)}
|
||||
menu={createMenu}
|
||||
/>
|
||||
Reference in New Issue
Block a user