Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
open-webui
Commits
cdac0cd1
Commit
cdac0cd1
authored
Aug 03, 2024
by
Aryan Kothari
Browse files
refactor: disable pagination moved to a function
reduces repeated code
parent
f9e1a933
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
31 deletions
+15
-31
src/lib/components/chat/Settings/Chats.svelte
src/lib/components/chat/Settings/Chats.svelte
+4
-19
src/lib/components/layout/Sidebar.svelte
src/lib/components/layout/Sidebar.svelte
+4
-12
src/lib/utils/index.ts
src/lib/utils/index.ts
+7
-0
No files found.
src/lib/components/chat/Settings/Chats.svelte
View file @
cdac0cd1
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
getAllUserChats,
getAllUserChats,
getChatList
getChatList
} from '$lib/apis/chats';
} from '$lib/apis/chats';
import { getImportOrigin, convertOpenAIChats } from '$lib/utils';
import { getImportOrigin, convertOpenAIChats
, disablePagination
} from '$lib/utils';
import { onMount, getContext } from 'svelte';
import { onMount, getContext } from 'svelte';
import { goto } from '$app/navigation';
import { goto } from '$app/navigation';
import { toast } from 'svelte-sonner';
import { toast } from 'svelte-sonner';
...
@@ -61,12 +61,7 @@
...
@@ -61,12 +61,7 @@
await createNewChat(localStorage.token, chat);
await createNewChat(localStorage.token, chat);
}
}
}
}
// loading all chats. disable pagination on scrol.
disablePagination();
scrollPaginationEnabled.set(false);
// subsequent queries will calculate page size to rehydrate the ui.
// since every chat is already loaded, the calculation should now load all chats.
pageSkip.set(0);
pageLimit.set(-1);
await chats.set(await getChatList(localStorage.token));
await chats.set(await getChatList(localStorage.token));
};
};
...
@@ -82,12 +77,7 @@
...
@@ -82,12 +77,7 @@
await archiveAllChats(localStorage.token).catch((error) => {
await archiveAllChats(localStorage.token).catch((error) => {
toast.error(error);
toast.error(error);
});
});
// loading all chats. disable pagination on scrol.
disablePagination();
scrollPaginationEnabled.set(false);
// subsequent queries will calculate page size to rehydrate the ui.
// since every chat is already loaded, the calculation should now load all chats.
pageSkip.set(0);
pageLimit.set(-1);
await chats.set(await getChatList(localStorage.token));
await chats.set(await getChatList(localStorage.token));
};
};
...
@@ -96,12 +86,7 @@
...
@@ -96,12 +86,7 @@
await deleteAllChats(localStorage.token).catch((error) => {
await deleteAllChats(localStorage.token).catch((error) => {
toast.error(error);
toast.error(error);
});
});
// loading all chats. disable pagination on scrol.
disablePagination();
scrollPaginationEnabled.set(false);
// subsequent queries will calculate page size to rehydrate the ui.
// since every chat is already loaded, the calculation should now load all chats.
pageSkip.set(0);
pageLimit.set(-1);
await chats.set(await getChatList(localStorage.token));
await chats.set(await getChatList(localStorage.token));
};
};
...
...
src/lib/components/layout/Sidebar.svelte
View file @
cdac0cd1
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
import { onMount, getContext, tick } from 'svelte';
import { onMount, getContext, tick } from 'svelte';
const i18n = getContext('i18n');
const i18n = getContext('i18n');
import { disablePagination } from '$lib/utils';
import { updateUserSettings } from '$lib/apis/users';
import { updateUserSettings } from '$lib/apis/users';
import {
import {
...
@@ -434,12 +435,7 @@
...
@@ -434,12 +435,7 @@
placeholder={$i18n.t('Search')}
placeholder={$i18n.t('Search')}
bind:value={search}
bind:value={search}
on:focus={async () => {
on:focus={async () => {
// loading all chats. disable pagination on scrol.
disablePagination();
scrollPaginationEnabled.set(false);
// subsequent queries will calculate page size to rehydrate the ui.
// since every chat is already loaded, the calculation should now load all chats.
pageSkip.set(0);
pageLimit.set(-1);
await chats.set(await getChatList(localStorage.token)); // when searching, load all chats
await chats.set(await getChatList(localStorage.token)); // when searching, load all chats
enrichChatsWithContent($chats);
enrichChatsWithContent($chats);
...
@@ -453,9 +449,7 @@
...
@@ -453,9 +449,7 @@
<button
<button
class="px-2.5 text-xs font-medium bg-gray-50 dark:bg-gray-900 dark:hover:bg-gray-800 transition rounded-full"
class="px-2.5 text-xs font-medium bg-gray-50 dark:bg-gray-900 dark:hover:bg-gray-800 transition rounded-full"
on:click={async () => {
on:click={async () => {
scrollPaginationEnabled.set(false);
disablePagination();
pageSkip.set(0);
pageLimit.set(-1);
await chats.set(
await chats.set(
await getChatList(localStorage.token, $pageSkip * $pageLimit, $pageLimit)
await getChatList(localStorage.token, $pageSkip * $pageLimit, $pageLimit)
...
@@ -472,9 +466,7 @@
...
@@ -472,9 +466,7 @@
if (chatIds.length === 0) {
if (chatIds.length === 0) {
// no chats found in the tag
// no chats found in the tag
await tags.set(await getAllChatTags(localStorage.token));
await tags.set(await getAllChatTags(localStorage.token));
scrollPaginationEnabled.set(false);
disablePagination();
pageSkip.set(0);
pageLimit.set(-1);
chatIds = await getChatList(
chatIds = await getChatList(
localStorage.token,
localStorage.token,
$pageSkip * $pageLimit,
$pageSkip * $pageLimit,
...
...
src/lib/utils/index.ts
View file @
cdac0cd1
import
{
v4
as
uuidv4
}
from
'
uuid
'
;
import
{
v4
as
uuidv4
}
from
'
uuid
'
;
import
sha256
from
'
js-sha256
'
;
import
sha256
from
'
js-sha256
'
;
import
{
WEBUI_BASE_URL
}
from
'
$lib/constants
'
;
import
{
WEBUI_BASE_URL
}
from
'
$lib/constants
'
;
import
{
scrollPaginationEnabled
,
pageLimit
,
pageSkip
}
from
'
$lib/stores
'
;
//////////////////////////
//////////////////////////
// Helper functions
// Helper functions
...
@@ -779,3 +780,9 @@ export const bestMatchingLanguage = (supportedLanguages, preferredLanguages, def
...
@@ -779,3 +780,9 @@ export const bestMatchingLanguage = (supportedLanguages, preferredLanguages, def
console
.
log
(
languages
,
preferredLanguages
,
match
,
defaultLocale
);
console
.
log
(
languages
,
preferredLanguages
,
match
,
defaultLocale
);
return
match
||
defaultLocale
;
return
match
||
defaultLocale
;
};
};
export
const
disablePagination
=
()
=>
{
scrollPaginationEnabled
.
set
(
false
);
pageLimit
.
set
(
-
1
);
pageSkip
.
set
(
0
);
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment