-
🌐 async-utils.jsWeb, 3.69 kB⬇
-
🌐 auth-storage.jsWeb, 735 B⬇
-
🌐 chat-helpers.jsWeb, 8.85 kB⬇
-
🌐 chat-renderer.jsWeb, 70.00 kB⬇
-
🌐 code-overlay.jsWeb, 21.77 kB⬇
-
🌐 confirm-dialog.jsWeb, 3.17 kB⬇
-
🌐 conversation-format-utils.jsWeb, 21.51 kB⬇
-
🌐 diagram-overlay.jsWeb, 7.93 kB⬇
-
🌐 dialog.jsWeb, 2.50 kB⬇
-
🌐 dom-utils.jsWeb, 8.33 kB⬇
-
🌐 drag-reorder.jsWeb, 4.82 kB⬇
-
🌐 elements.jsWeb, 11.06 kB⬇
-
🌐 export-utils.jsWeb, 1.53 kB⬇
-
🌐 format-utils.jsWeb, 29.60 kB⬇
-
🌐 history-navigation.jsWeb, 1.95 kB⬇
-
🌐 hljs-yaml.jsWeb, 5.07 kB⬇
-
🌐 inline-format.jsWeb, 7.35 kB⬇
-
🌐 instant-answer.jsWeb, 19.82 kB⬇
-
🌐 interactive-tools.jsWeb, 38.77 kB⬇
-
🌐 mermaid-fixes.jsWeb, 4.60 kB⬇
-
🌐 mermaid-render.jsWeb, 5.10 kB⬇
-
🌐 mermaid.jsWeb, 195 B⬇
-
🌐 migrations.jsWeb, 12.11 kB⬇
-
🌐 multi-choice-dialog.jsWeb, 1.33 kB⬇
-
🌐 notification-stack.jsWeb, 2.50 kB⬇
-
🌐 options-manager.jsWeb, 45.56 kB⬇
-
🌐 overlay-utils.jsWeb, 4.14 kB⬇
-
🌐 pdf-export.jsWeb, 23.59 kB⬇
-
🌐 pinch-zoom.jsWeb, 3.21 kB⬇
-
🌐 plugin-dialog.jsWeb, 2.17 kB⬇
-
🌐 read-aloud.jsWeb, 33.84 kB⬇
-
🌐 response-pipeline.jsWeb, 55.19 kB⬇
-
🌐 scratchpad-editor.jsWeb, 8.64 kB⬇
-
🌐 scratchpad-export.jsWeb, 3.56 kB⬇
-
🌐 scrollbars.jsWeb, 3.12 kB⬇
-
🌐 selection-manager.jsWeb, 3.76 kB⬇
-
🌐 settings-utils.jsWeb, 31.08 kB⬇
-
🌐 share.jsWeb, 10.75 kB⬇
-
🌐 side-drawer.jsWeb, 9.37 kB⬇
-
🌐 speech-text.jsWeb, 6.60 kB⬇
-
🌐 swipe-navigation.jsWeb, 6.16 kB⬇
-
🌐 table-overlay.jsWeb, 8.10 kB⬇
-
🌐 theme-utils.jsWeb, 8.34 kB⬇
-
🌐 thinking-panel-base.jsWeb, 14.88 kB⬇
-
🌐 ui-sets.jsWeb, 1.00 kB⬇
-
🌐 version-overlay.jsWeb, 4.63 kB⬇
import { getEl, queryEl, queryAll } from './dom-utils.js';
/**
* Looks up all shared DOM elements used by the app and its feature modules.
* Call once during initialization and assign the result onto the App instance.
* @returns {Object} Map of element names to DOM elements.
*/
export function initElements() {
return {
// Header / prompt
btn_close: getEl('btn-close'),
btn_send: getEl('btn-send'),
prompt: getEl('id-prompt'),
div_title: getEl('id-div-response-title'),
span_title_loading: getEl('id-span-title-loading'),
div_response: getEl('id-div-response-render'),
div_chat_container: getEl('div-structure-chat-container'),
// Theme & utility model
select_theme_family: getEl('id-select-theme-family'),
select_theme: getEl('id-select-theme'),
select_utility_model: getEl('id-select-utility-model'),
div_utility_model_cost: getEl('id-div-utility-model-cost'),
select_tts_model: getEl('id-select-tts-model'),
select_tts_voice: getEl('id-select-tts-voice'),
btn_tts_preview: getEl('btn-tts-preview'),
btn_tts_clear_cache: getEl('btn-tts-clear-cache'),
div_tts_cost: getEl('id-div-tts-cost'),
// Model settings (app + conversation)
select_default_verbosity: getEl('id-select-default-verbosity'),
select_conversation_verbosity: getEl('id-select-conversation-verbosity'),
select_default_model: getEl('id-select-default-model'),
select_default_model_family: getEl('id-select-default-model-family'),
select_default_model_version: getEl('id-select-default-model-version'),
select_default_thinking_level: getEl('id-select-default-thinking-level'),
select_conversation_model: getEl('id-select-conversation-model'),
select_conversation_model_family: getEl('id-select-conversation-model-family'),
select_conversation_model_version: getEl('id-select-conversation-model-version'),
select_conversation_model_level: getEl('id-select-conversation-model-level'),
div_default_model_description: getEl('id-div-default-model-description'),
div_default_model_costs: getEl('id-div-default-model-costs'),
div_conversation_model_description: getEl('id-div-conversation-model-description'),
div_conversation_model_costs: getEl('id-div-conversation-model-costs'),
div_default_verbosity_description: getEl('id-div-default-verbosity-description'),
div_conversation_verbosity_description: getEl('id-div-conversation-verbosity-description'),
// Options & experimental checkboxes
checkbox_experimental_features: getEl('id-checkbox-experimental-features'),
div_experimental_features_container: getEl('id-div-experimental-features-container'),
div_experimental_options: getEl('id-div-experimental-options'),
div_experimental_features_list: getEl('id-div-experimental-features-list'),
div_tool_config: getEl('id-div-tool-config-list'),
checkbox_default_show_suggestions: getEl('id-checkbox-default-show-suggestions'),
checkbox_default_show_related: getEl('id-checkbox-default-show-related'),
checkbox_default_enforce_topics: getEl('id-checkbox-default-enforce-topics'),
checkbox_default_auto_send_prompts: getEl('id-checkbox-default-auto-send-prompts'),
checkbox_default_play_chime: getEl('id-checkbox-default-play-chime'),
checkbox_default_web_search: getEl('id-checkbox-default-web-search'),
checkbox_default_synced: getEl('id-checkbox-default-synced'),
div_default_web_search_container: getEl('id-div-default-web-search-container'),
checkbox_default_disable_safeguards: getEl('id-checkbox-default-disable-safeguards'),
checkbox_default_encourage_creativity: getEl('id-checkbox-default-encourage-creativity'),
input_max_tool_use: getEl('id-input-max-tool-use'),
checkbox_allow_tool_requests: getEl('id-checkbox-allow-tool-requests'),
input_ui_zoom: getEl('id-input-ui-zoom'),
span_ui_zoom_value: getEl('id-span-ui-zoom-value'),
checkbox_conversation_show_suggestions: getEl('id-checkbox-conversation-show-suggestions'),
checkbox_conversation_show_related: getEl('id-checkbox-conversation-show-related'),
checkbox_conversation_enforce_topics: getEl('id-checkbox-conversation-enforce-topics'),
checkbox_conversation_auto_send_prompts: getEl('id-checkbox-conversation-auto-send-prompts'),
checkbox_conversation_disable_safeguards: getEl('id-checkbox-conversation-disable-safeguards'),
checkbox_conversation_encourage_creativity: getEl('id-checkbox-conversation-encourage-creativity'),
div_conversation_creativity_container: getEl('id-div-conversation-creativity-container'),
checkbox_conversation_google_search: getEl('id-checkbox-conversation-google-search'),
div_conversation_google_search_container: getEl('id-div-conversation-google-search-container'),
label_sync_switch: getEl('id-label-sync-switch'),
checkbox_sync_switch: getEl('id-checkbox-sync-switch'),
btn_collaborate: getEl('id-btn-collaborate'),
btn_share: getEl('id-btn-share'),
btn_share_dot: queryEl('#id-btn-share .span-share-dot'),
// Content list & index buttons
div_list: getEl('id-div-list'),
div_index_list: getEl('id-div-center-index-list'),
btn_conversation_new: getEl('id-btn-conversation-new'),
btn_document_preview: getEl('id-btn-document-preview'),
select_scratchpad_export: getEl('id-select-scratchpad-export'),
btn_content_new: getEl('id-btn-content-new'),
btn_content_select: getEl('id-btn-content-select'),
btn_content_archive: getEl('id-btn-content-archive'),
btn_archives_toggle: getEl('id-btn-content-archives'),
btn_content_delete: getEl('id-btn-content-delete'),
btn_empty_new_chat: getEl('id-btn-empty-new-chat'),
select_new_document: getEl('id-select-new-document'),
btn_empty_new_scratchpad: getEl('id-btn-empty-new-scratchpad'),
btn_show_content: getEl('id-btn-show-content'),
btn_show_scratchpads_new: getEl('id-btn-show-scratchpads-new'),
btn_content: getEl('id-btn-content'),
btn_conversation_index: getEl('id-btn-conversation-index'),
btn_conversation_index_select: getEl('id-btn-conversation-index-select'),
btn_conversation_index_favorite: getEl('id-btn-conversation-index-favorite'),
btn_conversation_index_delete: getEl('id-btn-conversation-index-delete'),
// Chat empty state & option chips
div_chat_empty: queryEl('.div-chat-empty'),
div_chat_empty_header: queryEl('.div-chat-empty-header'),
div_chat_ui_elements: queryAll('.div-chat-ui-elements'),
div_options_chips: queryEl('.div-options-chips'),
span_option_model: getEl('id-span-option-model'),
span_option_verbosity: getEl('id-span-option-verbosity'),
span_option_suggested: getEl('id-span-option-suggested'),
span_option_related: getEl('id-span-option-related'),
span_option_search: getEl('id-span-option-search'),
span_option_enforce_topics: getEl('id-span-option-enforce-topics'),
span_option_auto_run: getEl('id-span-option-auto-run'),
div_dialog_backdrop: getEl('id-dialog-backdrop'),
// Instant Answer overlay
btn_instant_answer: getEl('id-btn-instant-answer'),
div_instant_answer_overlay: getEl('id-instant-answer-overlay'),
btn_instant_answer_close: getEl('btn-instant-answer-close'),
btn_instant_answer_auto_read: getEl('btn-instant-answer-auto-read'),
btn_instant_answer_play: getEl('btn-instant-answer-play'),
btn_instant_answer_send: getEl('btn-instant-answer-send'),
btn_instant_answer_search: getEl('btn-instant-answer-search'),
select_instant_answer_model: getEl('id-select-instant-answer-model'),
div_instant_answer_model_cost: getEl('id-div-instant-answer-model-cost'),
instant_answer_query: getEl('id-instant-answer-query'),
div_instant_answer_status: getEl('id-instant-answer-status'),
div_instant_answer_placeholder: getEl('id-instant-answer-placeholder'),
div_instant_answer_answer_header: getEl('id-instant-answer-answer-header'),
btn_instant_answer_clear: getEl('btn-instant-answer-clear'),
div_instant_answer_response_container: getEl('id-instant-answer-response-container'),
div_instant_answer_response: getEl('id-instant-answer-response'),
div_instant_answer_cost: getEl('id-instant-answer-cost'),
// Options & version overlays
btn_app_options: getEl('btn-app-options'),
btn_conversation_options: getEl('id-btn-conversation-options'),
btn_rank: getEl('id-btn-rank'),
div_app_options_overlay: getEl('id-app-options-overlay'),
div_conversation_options_overlay: getEl('id-conversation-options-overlay'),
btn_title_edit: getEl('btn-title-edit'),
div_conversation_verbosity_container: getEl('id-div-conversation-verbosity-container'),
hr_conversation_model_divider: getEl('id-hr-conversation-model-divider'),
div_conversation_suggested_container: getEl('id-div-conversation-suggested-container'),
div_conversation_enforce_topics_container: getEl('id-div-conversation-enforce-topics-container'),
div_conversation_auto_send_container: getEl('id-div-conversation-auto-send-container'),
div_conversation_safeguards_container: getEl('id-div-conversation-safeguards-container'),
btn_options_close: getEl('btn-options-close'),
btn_conversation_options_close: getEl('btn-conversation-options-close'),
div_version_overlay: getEl('id-version-dialog-overlay'),
btn_version_close: getEl('btn-version-close'),
btn_show_changelog: getEl('btn-show-changelog'),
div_app_version_title: getEl('id-div-app-version-title'),
div_app_version_description: getEl('id-div-app-version-description'),
div_version_content: getEl('id-div-version-content'),
// Tabs & scroll containers
btn_tab_conversation: getEl('id-btn-tab-conversation'),
btn_tab_rankings: getEl('id-btn-tab-rankings'),
btn_tab_tags: getEl('id-btn-tab-tags'),
btn_tab_context: getEl('id-btn-tab-context'),
btn_tab_attachments: getEl('id-btn-tab-attachments'),
btn_tab_memory: getEl('id-btn-tab-memory'),
btn_tab_document: getEl('id-btn-tab-document'),
btn_tab_diction: getEl('id-btn-tab-diction'),
btn_tab_memory: getEl('id-btn-tab-memory'),
div_chat_container_scroll: getEl('id-chat-container-scroll'),
div_chat_context_scroll: getEl('div-chat-context-scroll'),
div_chat_rankings_scroll: getEl('div-chat-rankings-scroll'),
div_chat_attachments_scroll: getEl('div-chat-attachments-scroll'),
div_chat_memory_scroll: getEl('div-chat-memory-scroll'),
div_document_memory_scroll: getEl('div-document-memory-scroll'),
div_chat_document_scroll: getEl('div-chat-document-scroll'),
div_chat_diction_scroll: getEl('div-chat-diction-scroll'),
div_chat_prompt_inset: getEl('div-chat-prompt-inset'),
div_chat_prompt_container: getEl('div-chat-prompt-container'),
div_chat_title_bar: queryEl('.div-chat-title-bar'),
div_tab_bar: queryEl('.div-tab-bar'),
div_document_container: getEl('div-document-container'),
div_choices_container: getEl('div-choices-container'),
div_choices_scroll: getEl('div-choices-scroll'),
div_notes_container: getEl('div-notes-container'),
div_notes_scroll: getEl('div-notes-scroll'),
div_chat_tags_scroll: getEl('div-chat-tags-scroll'),
div_scratchpad_drawer: getEl('div-scratchpad-drawer'),
div_buttons_nav: getEl('id-div-buttons-nav'),
div_buttons_chat: getEl('id-div-buttons-chat'),
div_chat_buttons: getEl('div-chat-buttons'),
div_buttons_document: getEl('id-div-buttons-document'),
div_structure_center_document_options: getEl('div-structure-center-document-options'),
div_structure_center_index_options: queryEl('.div-structure-center-index-options'),
};
}
elements.js
×
Type: Web, text/x-java
11.06 Kilobytes
Last Modified 2026-11-04 09:48:28
⬇ Download File
Type: Web, text/x-java
11.06 Kilobytes
Last Modified 2026-11-04 09:48:28
⬇ Download File