Add toggle for reasoning auto-expand
| @@ -3789,6 +3789,12 @@ | ||
| 3789 | 3789 | Auto-Parse Reasoning |
| 3790 | 3790 | </small> |
| 3791 | 3791 | </label> |
| 3792 | + <label class="checkbox_label" for="reasoning_auto_expand" title="Automatically expand reasoning blocks." data-i18n="[title]reasoning_auto_expand"> | |
| 3793 | + <input id="reasoning_auto_expand" type="checkbox" /> | |
| 3794 | + <small data-i18n="Auto-Expand Reasoning"> | |
| 3795 | + Auto-Expand Reasoning | |
| 3796 | + </small> | |
| 3797 | + </label> | |
| 3792 | 3798 | <label class="checkbox_label" for="reasoning_add_to_prompts" title="Add existing reasoning blocks to prompts. To add a new reasoning block, use the message edit menu." data-i18n="[title]reasoning_add_to_prompts"> |
| 3793 | 3799 | <input id="reasoning_add_to_prompts" type="checkbox" /> |
| 3794 | 3800 | <small data-i18n="Add Reasoning to Prompts"> |
| @@ -6247,7 +6253,7 @@ | ||
| 6247 | 6253 | <div class="mes_edit_cancel menu_button fa-solid fa-xmark" title="Cancel" data-i18n="[title]Cancel"></div> |
| 6248 | 6254 | </div> |
| 6249 | 6255 | </div> |
| 6250 | 6256 | <details class="mes_reasoning_details" open> |
| 6251 | 6257 | <summary class="mes_reasoning_summary flex-container"> |
| 6252 | 6258 | <div class="mes_reasoning_header_block flex-container"> |
| 6253 | 6259 | <div class="mes_reasoning_header flex-container"> |
| @@ -23,6 +23,18 @@ function getMessageFromJquery(element) { | ||
| 23 | 23 | } |
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | + * Toggles the auto-expand state of reasoning blocks. | |
| 27 | + */ | |
| 28 | +function toggleReasoningAutoExpand() { | |
| 29 | + const reasoningBlocks = document.querySelectorAll('details.mes_reasoning_details'); | |
| 30 | + reasoningBlocks.forEach((block) => { | |
| 31 | + if (block instanceof HTMLDetailsElement) { | |
| 32 | + block.open = power_user.reasoning.auto_expand; | |
| 33 | + } | |
| 34 | + }); | |
| 35 | +} | |
| 36 | + | |
| 37 | +/** | |
| 26 | 38 | * Helper class for adding reasoning to messages. |
| 27 | 39 | * Keeps track of the number of reasoning additions. |
| 28 | 40 | */ |
| @@ -118,6 +130,13 @@ function loadReasoningSettings() { | ||
| 118 | 130 | power_user.reasoning.auto_parse = !!$(this).prop('checked'); |
| 119 | 131 | saveSettingsDebounced(); |
| 120 | 132 | }); |
| 133 | + | |
| 134 | + $('#reasoning_auto_expand').prop('checked', power_user.reasoning.auto_expand); | |
| 135 | + $('#reasoning_auto_expand').on('change', function () { | |
| 136 | + power_user.reasoning.auto_expand = !!$(this).prop('checked'); | |
| 137 | + toggleReasoningAutoExpand(); | |
| 138 | + saveSettingsDebounced(); | |
| 139 | + }); | |
| 121 | 140 | } |
| 122 | 141 | |
| 123 | 142 | function registerReasoningSlashCommands() { |
| @@ -444,6 +463,7 @@ function registerReasoningAppEvents() { | ||
| 444 | 463 | |
| 445 | 464 | export function initReasoning() { |
| 446 | 465 | loadReasoningSettings(); |
| 466 | + toggleReasoningAutoExpand(); | |
| 447 | 467 | setReasoningEventHandlers(); |
| 448 | 468 | registerReasoningSlashCommands(); |
| 449 | 469 | registerReasoningMacros(); |