mirror of
https://github.com/open-webui/open-webui
synced 2025-06-26 18:26:48 +00:00
enh: model url search param
This commit is contained in:
parent
81f62d5bff
commit
ce917eba81
@ -85,6 +85,8 @@
|
|||||||
let processing = '';
|
let processing = '';
|
||||||
let messagesContainerElement: HTMLDivElement;
|
let messagesContainerElement: HTMLDivElement;
|
||||||
|
|
||||||
|
let navbarElement;
|
||||||
|
|
||||||
let showEventConfirmation = false;
|
let showEventConfirmation = false;
|
||||||
let eventConfirmationTitle = '';
|
let eventConfirmationTitle = '';
|
||||||
let eventConfirmationMessage = '';
|
let eventConfirmationMessage = '';
|
||||||
@ -437,7 +439,29 @@
|
|||||||
if ($page.url.searchParams.get('models')) {
|
if ($page.url.searchParams.get('models')) {
|
||||||
selectedModels = $page.url.searchParams.get('models')?.split(',');
|
selectedModels = $page.url.searchParams.get('models')?.split(',');
|
||||||
} else if ($page.url.searchParams.get('model')) {
|
} else if ($page.url.searchParams.get('model')) {
|
||||||
selectedModels = $page.url.searchParams.get('model')?.split(',');
|
const urlModels = $page.url.searchParams.get('model')?.split(',');
|
||||||
|
|
||||||
|
if (urlModels.length === 1) {
|
||||||
|
const m = $models.find((m) => m.id === urlModels[0]);
|
||||||
|
if (!m) {
|
||||||
|
const modelSelectorButton = document.getElementById('model-selector-0-button');
|
||||||
|
if (modelSelectorButton) {
|
||||||
|
modelSelectorButton.click();
|
||||||
|
await tick();
|
||||||
|
|
||||||
|
const modelSelectorInput = document.getElementById('model-search-input');
|
||||||
|
if (modelSelectorInput) {
|
||||||
|
modelSelectorInput.focus();
|
||||||
|
modelSelectorInput.value = urlModels[0];
|
||||||
|
modelSelectorInput.dispatchEvent(new Event('input'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
selectedModels = urlModels;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
selectedModels = urlModels;
|
||||||
|
}
|
||||||
} else if ($settings?.models) {
|
} else if ($settings?.models) {
|
||||||
selectedModels = $settings?.models;
|
selectedModels = $settings?.models;
|
||||||
} else if ($config?.default_models) {
|
} else if ($config?.default_models) {
|
||||||
@ -2051,6 +2075,7 @@
|
|||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<Navbar
|
<Navbar
|
||||||
|
bind:this={navbarElement}
|
||||||
chat={{
|
chat={{
|
||||||
id: $chatId,
|
id: $chatId,
|
||||||
chat: {
|
chat: {
|
||||||
|
@ -40,6 +40,7 @@
|
|||||||
<div class="overflow-hidden w-full">
|
<div class="overflow-hidden w-full">
|
||||||
<div class="mr-1 max-w-full">
|
<div class="mr-1 max-w-full">
|
||||||
<Selector
|
<Selector
|
||||||
|
id={`${selectedModelIdx}`}
|
||||||
placeholder={$i18n.t('Select a model')}
|
placeholder={$i18n.t('Select a model')}
|
||||||
items={$models.map((model) => ({
|
items={$models.map((model) => ({
|
||||||
value: model.id,
|
value: model.id,
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
const i18n = getContext('i18n');
|
const i18n = getContext('i18n');
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
|
export let id = '';
|
||||||
export let value = '';
|
export let value = '';
|
||||||
export let placeholder = 'Select a model';
|
export let placeholder = 'Select a model';
|
||||||
export let searchEnabled = true;
|
export let searchEnabled = true;
|
||||||
@ -229,7 +230,11 @@
|
|||||||
}}
|
}}
|
||||||
closeFocus={false}
|
closeFocus={false}
|
||||||
>
|
>
|
||||||
<DropdownMenu.Trigger class="relative w-full font-primary" aria-label={placeholder}>
|
<DropdownMenu.Trigger
|
||||||
|
class="relative w-full font-primary"
|
||||||
|
aria-label={placeholder}
|
||||||
|
id="model-selector-{id}-button"
|
||||||
|
>
|
||||||
<div
|
<div
|
||||||
class="flex w-full text-left px-0.5 outline-none bg-transparent truncate text-lg font-medium placeholder-gray-400 focus:outline-none"
|
class="flex w-full text-left px-0.5 outline-none bg-transparent truncate text-lg font-medium placeholder-gray-400 focus:outline-none"
|
||||||
>
|
>
|
||||||
|
Loading…
Reference in New Issue
Block a user