feat: filter entity selectors by global provider filter
Provider selectors in notification tracker, command tracker, and actions forms now only show providers matching the global provider type filter. Command config selector in command trackers also filters by provider type.
This commit is contained in:
@@ -52,9 +52,11 @@
|
|||||||
return caps && caps.action_types && caps.action_types.length > 0;
|
return caps && caps.action_types && caps.action_types.length > 0;
|
||||||
}));
|
}));
|
||||||
|
|
||||||
let providerItems = $derived(actionProviders.map((p: any) => ({
|
let providerItems = $derived(actionProviders
|
||||||
value: p.id, label: p.name, icon: providerDefaultIcon(p), desc: p.type,
|
.filter((p: any) => !globalProviderFilter.providerType || p.type === globalProviderFilter.providerType)
|
||||||
})));
|
.map((p: any) => ({
|
||||||
|
value: p.id, label: p.name, icon: providerDefaultIcon(p), desc: p.type,
|
||||||
|
})));
|
||||||
|
|
||||||
// Action types for selected provider
|
// Action types for selected provider
|
||||||
let selectedProviderType = $derived(providers.find((p: any) => p.id === form.provider_id)?.type || '');
|
let selectedProviderType = $derived(providers.find((p: any) => p.id === form.provider_id)?.type || '');
|
||||||
|
|||||||
@@ -31,8 +31,12 @@
|
|||||||
let providers = $derived(providersCache.items);
|
let providers = $derived(providersCache.items);
|
||||||
let commandConfigs = $derived(commandConfigsCache.items);
|
let commandConfigs = $derived(commandConfigsCache.items);
|
||||||
let telegramBots = $derived(telegramBotsCache.items);
|
let telegramBots = $derived(telegramBotsCache.items);
|
||||||
const providerItems = $derived(providers.map(p => ({ value: p.id, label: p.name, icon: providerDefaultIcon(p), desc: p.type })));
|
const providerItems = $derived(providers
|
||||||
const configItems = $derived(filteredConfigs().map((c: any) => ({ value: c.id, label: c.name, icon: c.icon || 'mdiCog', desc: c.provider_type })));
|
.filter(p => !globalProviderFilter.providerType || p.type === globalProviderFilter.providerType)
|
||||||
|
.map(p => ({ value: p.id, label: p.name, icon: providerDefaultIcon(p), desc: p.type })));
|
||||||
|
const configItems = $derived(filteredConfigs()
|
||||||
|
.filter((c: any) => !globalProviderFilter.providerType || c.provider_type === globalProviderFilter.providerType)
|
||||||
|
.map((c: any) => ({ value: c.id, label: c.name, icon: c.icon || 'mdiCog', desc: c.provider_type })));
|
||||||
const botItems = $derived(telegramBots.map(b => ({ value: b.id, label: b.name, icon: b.icon || 'mdiRobot', desc: b.bot_username ? `@${b.bot_username}` : '' })));
|
const botItems = $derived(telegramBots.map(b => ({ value: b.id, label: b.name, icon: b.icon || 'mdiRobot', desc: b.bot_username ? `@${b.bot_username}` : '' })));
|
||||||
let loaded = $state(false);
|
let loaded = $state(false);
|
||||||
let showForm = $state(false);
|
let showForm = $state(false);
|
||||||
|
|||||||
@@ -34,7 +34,9 @@
|
|||||||
(!effectiveProviderId || t.provider_id === effectiveProviderId)
|
(!effectiveProviderId || t.provider_id === effectiveProviderId)
|
||||||
));
|
));
|
||||||
let providers = $derived(providersCache.items);
|
let providers = $derived(providersCache.items);
|
||||||
const providerItems = $derived(providers.map(p => ({ value: p.id, label: p.name, icon: providerDefaultIcon(p), desc: p.type })));
|
const providerItems = $derived(providers
|
||||||
|
.filter(p => !globalProviderFilter.providerType || p.type === globalProviderFilter.providerType)
|
||||||
|
.map(p => ({ value: p.id, label: p.name, icon: providerDefaultIcon(p), desc: p.type })));
|
||||||
let targets = $derived(targetsCache.items);
|
let targets = $derived(targetsCache.items);
|
||||||
let trackingConfigs = $derived(trackingConfigsCache.items);
|
let trackingConfigs = $derived(trackingConfigsCache.items);
|
||||||
let templateConfigs = $derived(templateConfigsCache.items);
|
let templateConfigs = $derived(templateConfigsCache.items);
|
||||||
|
|||||||
Reference in New Issue
Block a user