public cloud search

This commit is contained in:
SPRINX0\prochazka
2025-05-20 13:04:57 +02:00
parent b4fadb39bf
commit 839b0f6f5e
6 changed files with 102 additions and 28 deletions

View File

@@ -2,11 +2,16 @@
import AppObjectCore from './AppObjectCore.svelte';
export const extractKey = data => data.path;
export const createMatcher =
filter =>
({ title, description }) =>
filterName(filter, title, description);
</script>
<script lang="ts">
import { apiCall } from '../utility/api';
import newQuery from '../query/newQuery';
import { filterName } from 'dbgate-tools';
export let data;

View File

@@ -182,7 +182,9 @@ export const focusedConnectionOrDatabase = writable<{ conid: string; database?:
export const focusedTreeDbKey = writable<{ key: string; root: string; type: string; text: string }>(null);
export const cloudSigninToken = writableWithStorage(null, 'cloudSigninToken');
export const cloudSigninToken = getElectron()
? writableSettingsValue(null, 'cloudSigninToken')
: writableWithStorage(null, 'cloudSigninToken');
export const DEFAULT_OBJECT_SEARCH_SETTINGS = {
pureName: true,

View File

@@ -10,17 +10,38 @@
import { _t } from '../translations';
import WidgetsInnerContainer from './WidgetsInnerContainer.svelte';
import SearchBoxWrapper from '../elements/SearchBoxWrapper.svelte';
import SearchInput from '../elements/SearchInput.svelte';
import CloseSearchButton from '../buttons/CloseSearchButton.svelte';
import InlineButton from '../buttons/InlineButton.svelte';
import FontIcon from '../icons/FontIcon.svelte';
import { apiCall } from '../utility/api';
let filter = '';
$: publicFiles = usePublicCloudFiles();
async function handleRefreshPublic() {
await apiCall('cloud/refresh-public-files');
}
</script>
<WidgetColumnBar>
<WidgetColumnBarItem title="Public cloud" name="cloud" height="70%" storageName="publicCloudItems">
<WidgetsInnerContainer>
<SearchBoxWrapper>
<SearchInput placeholder="Search cloud files" bind:value={filter} />
<CloseSearchButton bind:filter />
<InlineButton on:click={handleRefreshPublic} title="Refresh files" data-testid="SavedFileList_buttonRefresh">
<FontIcon icon="icon refresh" />
</InlineButton>
</SearchBoxWrapper>
<AppObjectList
list={$publicFiles || []}
module={cloudFileAppObject}
groupFunc={data => data.folder || undefined}
{filter}
/>
</WidgetsInnerContainer>
</WidgetColumnBarItem>