Move event types + new events (#4257) * Move app events to separate module * Add event emission for preset changes and deletions * Remove unnecessary blank line at the beginning of events.js * Add await to selectPreset call in initTextGenSettings * Emit events for preset deletion and change in initPresetManager * Move event emit out of PRESET_CHANGED
Signed| @@ -204,7 +204,6 @@ import { | ||
| 204 | 204 | applyCharacterTagsToMessageDivs, |
| 205 | 205 | } from './scripts/tags.js'; |
| 206 | 206 | import { initSecrets, readSecretState } from './scripts/secrets.js'; |
| 207 | -import { EventEmitter } from './lib/eventemitter.js'; | |
| 208 | 207 | import { markdownExclusionExt } from './scripts/showdown-exclusion.js'; |
| 209 | 208 | import { markdownUnderscoreExt } from './scripts/showdown-underscore.js'; |
| 210 | 209 | import { NOTE_MODULE_NAME, initAuthorsNote, metadata_keys, setFloatingPrompt, shouldWIAddPrompt } from './scripts/authors-note.js'; |
| @@ -236,7 +235,7 @@ import { | ||
| 236 | 235 | } from './scripts/personas.js'; |
| 237 | 236 | import { getBackgrounds, initBackgrounds, loadBackgroundSettings, background_settings } from './scripts/backgrounds.js'; |
| 238 | 237 | import { hideLoader, showLoader } from './scripts/loader.js'; |
| 239 | 238 | import { BulkEditOverlay, CharacterContextMenu } from './scripts/BulkEditOverlay.js'; |
| 240 | 239 | import { initTextGenModels } from './scripts/textgen-models.js'; |
| 241 | 240 | import { appendFileContent, hasPendingFileAttachment, populateFileAttachment, decodeStyleTags, encodeStyleTags, isExternalMediaAllowed, preserveNeutralChat, restoreNeutralChat, formatCreatorNotes, initChatUtilities, addDOMPurifyHooks } from './scripts/chats.js'; |
| 242 | 241 | import { getPresetManager, initPresetManager } from './scripts/preset-manager.js'; |
| @@ -266,6 +265,7 @@ import { initWelcomeScreen, openPermanentAssistantChat, openPermanentAssistantCa | ||
| 266 | 265 | import { initDataMaid } from './scripts/data-maid.js'; |
| 267 | 266 | import { clearItemizedPrompts, deleteItemizedPrompts, findItemizedPromptSet, initItemizedPrompts, itemizedParams, itemizedPrompts, loadItemizedPrompts, promptItemize, replaceItemizedPromptText, saveItemizedPrompts } from './scripts/itemized-prompts.js'; |
| 268 | 267 | import { getSystemMessageByType, initSystemMessages, SAFETY_CHAT, sendSystemMessage, system_message_types, system_messages } from './scripts/system-messages.js'; |
| 268 | +import { event_types, eventSource } from './scripts/events.js'; | |
| 269 | 269 | |
| 270 | 270 | // API OBJECT FOR EXTERNAL WIRING |
| 271 | 271 | globalThis.SillyTavern = { |
| @@ -301,6 +301,8 @@ export { | ||
| 301 | 301 | system_message_types, |
| 302 | 302 | sendSystemMessage, |
| 303 | 303 | getSystemMessageByType, |
| 304 | + event_types, | |
| 305 | + eventSource, | |
| 304 | 306 | }; |
| 305 | 307 | |
| 306 | 308 | /** |
| @@ -338,99 +340,7 @@ toastr.options = { | ||
| 338 | 340 | }, |
| 339 | 341 | }; |
| 340 | 342 | |
| 341 | -// Event source init | |
| 342 | -//MARK: event_types | |
| 343 | -export const event_types = { | |
| 344 | - APP_READY: 'app_ready', | |
| 345 | - EXTRAS_CONNECTED: 'extras_connected', | |
| 346 | - MESSAGE_SWIPED: 'message_swiped', | |
| 347 | - MESSAGE_SENT: 'message_sent', | |
| 348 | - MESSAGE_RECEIVED: 'message_received', | |
| 349 | - MESSAGE_EDITED: 'message_edited', | |
| 350 | - MESSAGE_DELETED: 'message_deleted', | |
| 351 | - MESSAGE_UPDATED: 'message_updated', | |
| 352 | - MESSAGE_FILE_EMBEDDED: 'message_file_embedded', | |
| 353 | - MESSAGE_REASONING_EDITED: 'message_reasoning_edited', | |
| 354 | - MESSAGE_REASONING_DELETED: 'message_reasoning_deleted', | |
| 355 | - MORE_MESSAGES_LOADED: 'more_messages_loaded', | |
| 356 | - IMPERSONATE_READY: 'impersonate_ready', | |
| 357 | - CHAT_CHANGED: 'chat_id_changed', | |
| 358 | - GENERATION_AFTER_COMMANDS: 'GENERATION_AFTER_COMMANDS', | |
| 359 | - GENERATION_STARTED: 'generation_started', | |
| 360 | - GENERATION_STOPPED: 'generation_stopped', | |
| 361 | - GENERATION_ENDED: 'generation_ended', | |
| 362 | - SD_PROMPT_PROCESSING: 'sd_prompt_processing', | |
| 363 | - EXTENSIONS_FIRST_LOAD: 'extensions_first_load', | |
| 364 | - EXTENSION_SETTINGS_LOADED: 'extension_settings_loaded', | |
| 365 | - SETTINGS_LOADED: 'settings_loaded', | |
| 366 | - SETTINGS_UPDATED: 'settings_updated', | |
| 367 | - GROUP_UPDATED: 'group_updated', | |
| 368 | - MOVABLE_PANELS_RESET: 'movable_panels_reset', | |
| 369 | - SETTINGS_LOADED_BEFORE: 'settings_loaded_before', | |
| 370 | - SETTINGS_LOADED_AFTER: 'settings_loaded_after', | |
| 371 | - CHATCOMPLETION_SOURCE_CHANGED: 'chatcompletion_source_changed', | |
| 372 | - CHATCOMPLETION_MODEL_CHANGED: 'chatcompletion_model_changed', | |
| 373 | - OAI_PRESET_CHANGED_BEFORE: 'oai_preset_changed_before', | |
| 374 | - OAI_PRESET_CHANGED_AFTER: 'oai_preset_changed_after', | |
| 375 | - OAI_PRESET_EXPORT_READY: 'oai_preset_export_ready', | |
| 376 | - OAI_PRESET_IMPORT_READY: 'oai_preset_import_ready', | |
| 377 | - WORLDINFO_SETTINGS_UPDATED: 'worldinfo_settings_updated', | |
| 378 | - WORLDINFO_UPDATED: 'worldinfo_updated', | |
| 379 | - CHARACTER_EDITED: 'character_edited', | |
| 380 | - CHARACTER_PAGE_LOADED: 'character_page_loaded', | |
| 381 | - CHARACTER_GROUP_OVERLAY_STATE_CHANGE_BEFORE: 'character_group_overlay_state_change_before', | |
| 382 | - CHARACTER_GROUP_OVERLAY_STATE_CHANGE_AFTER: 'character_group_overlay_state_change_after', | |
| 383 | - USER_MESSAGE_RENDERED: 'user_message_rendered', | |
| 384 | - CHARACTER_MESSAGE_RENDERED: 'character_message_rendered', | |
| 385 | - FORCE_SET_BACKGROUND: 'force_set_background', | |
| 386 | - CHAT_DELETED: 'chat_deleted', | |
| 387 | - CHAT_CREATED: 'chat_created', | |
| 388 | - GROUP_CHAT_DELETED: 'group_chat_deleted', | |
| 389 | - GROUP_CHAT_CREATED: 'group_chat_created', | |
| 390 | - GENERATE_BEFORE_COMBINE_PROMPTS: 'generate_before_combine_prompts', | |
| 391 | - GENERATE_AFTER_COMBINE_PROMPTS: 'generate_after_combine_prompts', | |
| 392 | - GENERATE_AFTER_DATA: 'generate_after_data', | |
| 393 | - GROUP_MEMBER_DRAFTED: 'group_member_drafted', | |
| 394 | - GROUP_WRAPPER_STARTED: 'group_wrapper_started', | |
| 395 | - GROUP_WRAPPER_FINISHED: 'group_wrapper_finished', | |
| 396 | - WORLD_INFO_ACTIVATED: 'world_info_activated', | |
| 397 | - TEXT_COMPLETION_SETTINGS_READY: 'text_completion_settings_ready', | |
| 398 | - CHAT_COMPLETION_SETTINGS_READY: 'chat_completion_settings_ready', | |
| 399 | - CHAT_COMPLETION_PROMPT_READY: 'chat_completion_prompt_ready', | |
| 400 | - CHARACTER_FIRST_MESSAGE_SELECTED: 'character_first_message_selected', | |
| 401 | - // TODO: Naming convention is inconsistent with other events | |
| 402 | - CHARACTER_DELETED: 'characterDeleted', | |
| 403 | - CHARACTER_DUPLICATED: 'character_duplicated', | |
| 404 | - CHARACTER_RENAMED: 'character_renamed', | |
| 405 | - CHARACTER_RENAMED_IN_PAST_CHAT: 'character_renamed_in_past_chat', | |
| 406 | - /** @deprecated The event is aliased to STREAM_TOKEN_RECEIVED. */ | |
| 407 | - SMOOTH_STREAM_TOKEN_RECEIVED: 'stream_token_received', | |
| 408 | - STREAM_TOKEN_RECEIVED: 'stream_token_received', | |
| 409 | - STREAM_REASONING_DONE: 'stream_reasoning_done', | |
| 410 | - FILE_ATTACHMENT_DELETED: 'file_attachment_deleted', | |
| 411 | - WORLDINFO_FORCE_ACTIVATE: 'worldinfo_force_activate', | |
| 412 | - OPEN_CHARACTER_LIBRARY: 'open_character_library', | |
| 413 | - ONLINE_STATUS_CHANGED: 'online_status_changed', | |
| 414 | - IMAGE_SWIPED: 'image_swiped', | |
| 415 | - CONNECTION_PROFILE_LOADED: 'connection_profile_loaded', | |
| 416 | - CONNECTION_PROFILE_CREATED: 'connection_profile_created', | |
| 417 | - CONNECTION_PROFILE_DELETED: 'connection_profile_deleted', | |
| 418 | - CONNECTION_PROFILE_UPDATED: 'connection_profile_updated', | |
| 419 | - TOOL_CALLS_PERFORMED: 'tool_calls_performed', | |
| 420 | - TOOL_CALLS_RENDERED: 'tool_calls_rendered', | |
| 421 | - CHARACTER_MANAGEMENT_DROPDOWN: 'charManagementDropdown', | |
| 422 | - SECRET_WRITTEN: 'secret_written', | |
| 423 | - SECRET_DELETED: 'secret_deleted', | |
| 424 | - SECRET_ROTATED: 'secret_rotated', | |
| 425 | - SECRET_EDITED: 'secret_edited', | |
| 426 | -}; | |
| 427 | - | |
| 428 | -export const eventSource = new EventEmitter([event_types.APP_READY]); | |
| 429 | - | |
| 430 | 343 | export const characterGroupOverlay = new BulkEditOverlay(); |
| 431 | -const characterContextMenu = new CharacterContextMenu(characterGroupOverlay); | |
| 432 | -eventSource.on(event_types.CHARACTER_PAGE_LOADED, characterGroupOverlay.onPageLoad); | |
| 433 | -console.debug('Character context menu initialized', characterContextMenu); | |
| 434 | 344 | |
| 435 | 345 | // Markdown converter |
| 436 | 346 | export let mesForShowdownParse; //intended to be used as a context to compare showdown strings against |
| @@ -9964,10 +9874,11 @@ jQuery(async function () { | ||
| 9964 | 9874 | is_delete_mode = false; |
| 9965 | 9875 | }); |
| 9966 | 9876 | |
| 9967 | 9877 | $('#main_api').on('change', async function () { |
| 9968 | 9878 | cancelStatusCheck('Canceled because main api changed'); |
| 9969 | 9879 | changeMainAPI(); |
| 9970 | 9880 | saveSettingsDebounced(); |
| 9881 | + await eventSource.emit(event_types.MAIN_API_CHANGED, { apiId: main_api }); | |
| 9971 | 9882 | }); |
| 9972 | 9883 | |
| 9973 | 9884 | ////////////////// OPTIMIZED RANGE SLIDER LISTENERS//////////////// |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | import { characterGroupOverlay } from '../script.js'; |
| 2 | 2 | import { BulkEditOverlay, BulkEditOverlayState, CharacterContextMenu } from './BulkEditOverlay.js'; |
| 3 | - | |
| 3 | +import { event_types, eventSource } from './events.js'; | |
| 4 | 4 | |
| 5 | 5 | let is_bulk_edit = false; |
| 6 | 6 | |
| @@ -121,4 +121,8 @@ export function initBulkEdit() { | ||
| 121 | 121 | $('#bulkEditButton').on('click', onEditButtonClick); |
| 122 | 122 | $('#bulkSelectAllButton').on('click', onSelectAllButtonClick); |
| 123 | 123 | $('#bulkDeleteButton').on('click', onDeleteButtonClick); |
| 124 | + | |
| 125 | + const characterContextMenu = new CharacterContextMenu(characterGroupOverlay); | |
| 126 | + eventSource.on(event_types.CHARACTER_PAGE_LOADED, characterGroupOverlay.onPageLoad); | |
| 127 | + console.debug('Character context menu initialized', characterContextMenu); | |
| 124 | 128 | } |
| @@ -0,0 +1,91 @@ | ||
| 1 | +import { EventEmitter } from '../lib/eventemitter.js'; | |
| 2 | + | |
| 3 | +export const event_types = { | |
| 4 | + APP_READY: 'app_ready', | |
| 5 | + EXTRAS_CONNECTED: 'extras_connected', | |
| 6 | + MESSAGE_SWIPED: 'message_swiped', | |
| 7 | + MESSAGE_SENT: 'message_sent', | |
| 8 | + MESSAGE_RECEIVED: 'message_received', | |
| 9 | + MESSAGE_EDITED: 'message_edited', | |
| 10 | + MESSAGE_DELETED: 'message_deleted', | |
| 11 | + MESSAGE_UPDATED: 'message_updated', | |
| 12 | + MESSAGE_FILE_EMBEDDED: 'message_file_embedded', | |
| 13 | + MESSAGE_REASONING_EDITED: 'message_reasoning_edited', | |
| 14 | + MESSAGE_REASONING_DELETED: 'message_reasoning_deleted', | |
| 15 | + MORE_MESSAGES_LOADED: 'more_messages_loaded', | |
| 16 | + IMPERSONATE_READY: 'impersonate_ready', | |
| 17 | + CHAT_CHANGED: 'chat_id_changed', | |
| 18 | + GENERATION_AFTER_COMMANDS: 'GENERATION_AFTER_COMMANDS', | |
| 19 | + GENERATION_STARTED: 'generation_started', | |
| 20 | + GENERATION_STOPPED: 'generation_stopped', | |
| 21 | + GENERATION_ENDED: 'generation_ended', | |
| 22 | + SD_PROMPT_PROCESSING: 'sd_prompt_processing', | |
| 23 | + EXTENSIONS_FIRST_LOAD: 'extensions_first_load', | |
| 24 | + EXTENSION_SETTINGS_LOADED: 'extension_settings_loaded', | |
| 25 | + SETTINGS_LOADED: 'settings_loaded', | |
| 26 | + SETTINGS_UPDATED: 'settings_updated', | |
| 27 | + GROUP_UPDATED: 'group_updated', | |
| 28 | + MOVABLE_PANELS_RESET: 'movable_panels_reset', | |
| 29 | + SETTINGS_LOADED_BEFORE: 'settings_loaded_before', | |
| 30 | + SETTINGS_LOADED_AFTER: 'settings_loaded_after', | |
| 31 | + CHATCOMPLETION_SOURCE_CHANGED: 'chatcompletion_source_changed', | |
| 32 | + CHATCOMPLETION_MODEL_CHANGED: 'chatcompletion_model_changed', | |
| 33 | + OAI_PRESET_CHANGED_BEFORE: 'oai_preset_changed_before', | |
| 34 | + OAI_PRESET_CHANGED_AFTER: 'oai_preset_changed_after', | |
| 35 | + OAI_PRESET_EXPORT_READY: 'oai_preset_export_ready', | |
| 36 | + OAI_PRESET_IMPORT_READY: 'oai_preset_import_ready', | |
| 37 | + WORLDINFO_SETTINGS_UPDATED: 'worldinfo_settings_updated', | |
| 38 | + WORLDINFO_UPDATED: 'worldinfo_updated', | |
| 39 | + CHARACTER_EDITED: 'character_edited', | |
| 40 | + CHARACTER_PAGE_LOADED: 'character_page_loaded', | |
| 41 | + CHARACTER_GROUP_OVERLAY_STATE_CHANGE_BEFORE: 'character_group_overlay_state_change_before', | |
| 42 | + CHARACTER_GROUP_OVERLAY_STATE_CHANGE_AFTER: 'character_group_overlay_state_change_after', | |
| 43 | + USER_MESSAGE_RENDERED: 'user_message_rendered', | |
| 44 | + CHARACTER_MESSAGE_RENDERED: 'character_message_rendered', | |
| 45 | + FORCE_SET_BACKGROUND: 'force_set_background', | |
| 46 | + CHAT_DELETED: 'chat_deleted', | |
| 47 | + CHAT_CREATED: 'chat_created', | |
| 48 | + GROUP_CHAT_DELETED: 'group_chat_deleted', | |
| 49 | + GROUP_CHAT_CREATED: 'group_chat_created', | |
| 50 | + GENERATE_BEFORE_COMBINE_PROMPTS: 'generate_before_combine_prompts', | |
| 51 | + GENERATE_AFTER_COMBINE_PROMPTS: 'generate_after_combine_prompts', | |
| 52 | + GENERATE_AFTER_DATA: 'generate_after_data', | |
| 53 | + GROUP_MEMBER_DRAFTED: 'group_member_drafted', | |
| 54 | + GROUP_WRAPPER_STARTED: 'group_wrapper_started', | |
| 55 | + GROUP_WRAPPER_FINISHED: 'group_wrapper_finished', | |
| 56 | + WORLD_INFO_ACTIVATED: 'world_info_activated', | |
| 57 | + TEXT_COMPLETION_SETTINGS_READY: 'text_completion_settings_ready', | |
| 58 | + CHAT_COMPLETION_SETTINGS_READY: 'chat_completion_settings_ready', | |
| 59 | + CHAT_COMPLETION_PROMPT_READY: 'chat_completion_prompt_ready', | |
| 60 | + CHARACTER_FIRST_MESSAGE_SELECTED: 'character_first_message_selected', | |
| 61 | + // TODO: Naming convention is inconsistent with other events | |
| 62 | + CHARACTER_DELETED: 'characterDeleted', | |
| 63 | + CHARACTER_DUPLICATED: 'character_duplicated', | |
| 64 | + CHARACTER_RENAMED: 'character_renamed', | |
| 65 | + CHARACTER_RENAMED_IN_PAST_CHAT: 'character_renamed_in_past_chat', | |
| 66 | + /** @deprecated The event is aliased to STREAM_TOKEN_RECEIVED. */ | |
| 67 | + SMOOTH_STREAM_TOKEN_RECEIVED: 'stream_token_received', | |
| 68 | + STREAM_TOKEN_RECEIVED: 'stream_token_received', | |
| 69 | + STREAM_REASONING_DONE: 'stream_reasoning_done', | |
| 70 | + FILE_ATTACHMENT_DELETED: 'file_attachment_deleted', | |
| 71 | + WORLDINFO_FORCE_ACTIVATE: 'worldinfo_force_activate', | |
| 72 | + OPEN_CHARACTER_LIBRARY: 'open_character_library', | |
| 73 | + ONLINE_STATUS_CHANGED: 'online_status_changed', | |
| 74 | + IMAGE_SWIPED: 'image_swiped', | |
| 75 | + CONNECTION_PROFILE_LOADED: 'connection_profile_loaded', | |
| 76 | + CONNECTION_PROFILE_CREATED: 'connection_profile_created', | |
| 77 | + CONNECTION_PROFILE_DELETED: 'connection_profile_deleted', | |
| 78 | + CONNECTION_PROFILE_UPDATED: 'connection_profile_updated', | |
| 79 | + TOOL_CALLS_PERFORMED: 'tool_calls_performed', | |
| 80 | + TOOL_CALLS_RENDERED: 'tool_calls_rendered', | |
| 81 | + CHARACTER_MANAGEMENT_DROPDOWN: 'charManagementDropdown', | |
| 82 | + SECRET_WRITTEN: 'secret_written', | |
| 83 | + SECRET_DELETED: 'secret_deleted', | |
| 84 | + SECRET_ROTATED: 'secret_rotated', | |
| 85 | + SECRET_EDITED: 'secret_edited', | |
| 86 | + PRESET_CHANGED: 'preset_changed', | |
| 87 | + PRESET_DELETED: 'preset_deleted', | |
| 88 | + MAIN_API_CHANGED: 'main_api_changed', | |
| 89 | +}; | |
| 90 | + | |
| 91 | +export const eventSource = new EventEmitter([event_types.APP_READY]); | |
| @@ -10,6 +10,8 @@ import { | ||
| 10 | 10 | abortStatusCheck, |
| 11 | 11 | startStatusLoading, |
| 12 | 12 | setGenerationParamsFromPreset, |
| 13 | + eventSource, | |
| 14 | + event_types, | |
| 13 | 15 | } from '../script.js'; |
| 14 | 16 | import { t } from './i18n.js'; |
| 15 | 17 | import { autoSelectInstructPreset } from './instruct-mode.js'; |
| @@ -516,7 +518,7 @@ export function initKoboldSettings() { | ||
| 516 | 518 | saveSettingsDebounced(); |
| 517 | 519 | }); |
| 518 | 520 | |
| 519 | 521 | $('#settings_preset').on('change', async function () { |
| 520 | 522 | if ($('#settings_preset').find(':selected').val() != 'gui') { |
| 521 | 523 | kai_settings.preset_settings = $('#settings_preset').find(':selected').text(); |
| 522 | 524 | const preset = koboldai_settings[koboldai_setting_names[kai_settings.preset_settings]]; |
| @@ -538,5 +540,6 @@ export function initKoboldSettings() { | ||
| 538 | 540 | .sortable('disable'); |
| 539 | 541 | } |
| 540 | 542 | saveSettingsDebounced(); |
| 543 | + await eventSource.emit(event_types.PRESET_CHANGED, { apiId: 'kobold', name: kai_settings.preset_settings }); | |
| 541 | 544 | }); |
| 542 | 545 | } |
| @@ -1,5 +1,7 @@ | ||
| 1 | 1 | import { |
| 2 | 2 | abortStatusCheck, |
| 3 | + event_types, | |
| 4 | + eventSource, | |
| 3 | 5 | getRequestHeaders, |
| 4 | 6 | getStoppingStrings, |
| 5 | 7 | resultCheckStatus, |
| @@ -890,11 +892,12 @@ export function initNovelAISettings() { | ||
| 890 | 892 | await getStatusNovel(); |
| 891 | 893 | }); |
| 892 | 894 | |
| 893 | 895 | $('#settings_preset_novel').on('change', async function () { |
| 894 | 896 | nai_settings.preset_settings_novel = $('#settings_preset_novel').find(':selected').text(); |
| 895 | 897 | const preset = novelai_settings[novelai_setting_names[nai_settings.preset_settings_novel]]; |
| 896 | 898 | loadNovelPreset(preset); |
| 897 | 899 | saveSettingsDebounced(); |
| 900 | + await eventSource.emit(event_types.PRESET_CHANGED, { apiId: 'novel', name: nai_settings.preset_settings_novel }); | |
| 898 | 901 | }); |
| 899 | 902 | |
| 900 | 903 | $('#streaming_novel').on('input', function () { |
| @@ -4413,6 +4413,7 @@ async function onDeletePresetClick() { | ||
| 4413 | 4413 | toastr.warning(t`Preset was not deleted from server`); |
| 4414 | 4414 | } else { |
| 4415 | 4415 | toastr.success(t`Preset deleted`); |
| 4416 | + await eventSource.emit(event_types.PRESET_DELETED, { apiId: 'openai', name: nameToDelete }); | |
| 4416 | 4417 | } |
| 4417 | 4418 | |
| 4418 | 4419 | saveSettingsDebounced(); |
| @@ -4469,7 +4470,7 @@ function onSettingsPresetChange() { | ||
| 4469 | 4470 | settings: oai_settings, |
| 4470 | 4471 | savePreset: saveOpenAIPreset, |
| 4471 | 4472 | presetNameBefore: presetNameBefore, |
| 4472 | 4473 | }).finally(rasync () => { |
| 4473 | 4474 | if (oai_settings.bind_preset_to_connection) { |
| 4474 | 4475 | $('.model_custom_select').empty(); |
| 4475 | 4476 | } |
| @@ -4504,7 +4505,8 @@ function onSettingsPresetChange() { | ||
| 4504 | 4505 | $('#openai_logit_bias_preset').trigger('change'); |
| 4505 | 4506 | |
| 4506 | 4507 | saveSettingsDebounced(); |
| 4507 | 4508 | await eventSource.emit(event_types.OAI_PRESET_CHANGED_AFTER); |
| 4509 | + await eventSource.emit(event_types.PRESET_CHANGED, { apiId: 'openai', name: presetName }); | |
| 4508 | 4510 | }); |
| 4509 | 4511 | } |
| 4510 | 4512 | |
| @@ -1035,6 +1035,9 @@ export async function initPresetManager() { | ||
| 1035 | 1035 | |
| 1036 | 1036 | await presetManager.renamePreset(newName); |
| 1037 | 1037 | |
| 1038 | + await eventSource.emit(event_types.PRESET_DELETED, { apiId: apiId, name: oldName }); | |
| 1039 | + await eventSource.emit(event_types.PRESET_CHANGED, { apiId: apiId, name: newName }); | |
| 1040 | + | |
| 1038 | 1041 | if (apiId === 'openai') { |
| 1039 | 1042 | // This is a horrible mess, but prevents the renamed preset from being corrupted. |
| 1040 | 1043 | $('#update_oai_preset').trigger('click'); |
| @@ -1107,6 +1110,7 @@ export async function initPresetManager() { | ||
| 1107 | 1110 | return; |
| 1108 | 1111 | } |
| 1109 | 1112 | |
| 1113 | + const name = presetManager.getSelectedPresetName(); | |
| 1110 | 1114 | const result = await presetManager.deletePreset(); |
| 1111 | 1115 | |
| 1112 | 1116 | if (result) { |
| @@ -1118,6 +1122,7 @@ export async function initPresetManager() { | ||
| 1118 | 1122 | } |
| 1119 | 1123 | |
| 1120 | 1124 | saveSettingsDebounced(); |
| 1125 | + await eventSource.emit(event_types.PRESET_DELETED, { apiId: apiId, name: name }); | |
| 1121 | 1126 | }); |
| 1122 | 1127 | |
| 1123 | 1128 | $(document).on('click', '[data-preset-manager-restore]', async function () { |
| @@ -906,9 +906,10 @@ export function initTextGenSettings() { | ||
| 906 | 906 | saveSettingsDebounced(); |
| 907 | 907 | }); |
| 908 | 908 | |
| 909 | 909 | $('#settings_preset_textgenerationwebui').on('change', async function () { |
| 910 | 910 | const presetName = $(this).val(); |
| 911 | 911 | await selectPreset(presetName); |
| 912 | + await eventSource.emit(event_types.PRESET_CHANGED, { apiId: 'textgenerationwebui', name: presetName }); | |
| 912 | 913 | }); |
| 913 | 914 | |
| 914 | 915 | $('#samplerResetButton').off('click').on('click', function () { |