* 初始化所有 UI 元素 * @param container 根容器 * @returns UI 元素引用
(container: HTMLElement)
| 32 | * @returns UI 元素引用 |
| 33 | */ |
| 34 | initializeUI(container: HTMLElement): UIElements { |
| 35 | // 清空容器并添加类 |
| 36 | container.empty(); |
| 37 | container.addClass("comment-view-container"); |
| 38 | container.addClass("hinote-view-container"); |
| 39 | |
| 40 | // 创建主容器 |
| 41 | const mainContainer = container.createEl("div", { |
| 42 | cls: "highlight-main-container" |
| 43 | }); |
| 44 | |
| 45 | // 创建文件列表区域(只在主视图中显示) |
| 46 | const fileListContainer = mainContainer.createEl("div", { |
| 47 | cls: "highlight-file-list-container" |
| 48 | }); |
| 49 | |
| 50 | // 创建右侧内容区域 |
| 51 | const mainContentContainer = mainContainer.createEl("div", { |
| 52 | cls: "highlight-content-container" |
| 53 | }); |
| 54 | |
| 55 | // 创建返回按钮(仅在移动端显示) |
| 56 | const { backButtonContainer, backButton } = this.createBackButton(mainContentContainer); |
| 57 | |
| 58 | // 创建搜索区域 |
| 59 | const searchContainer = mainContentContainer.createEl("div", { |
| 60 | cls: "highlight-search-container" |
| 61 | }); |
| 62 | |
| 63 | // 创建搜索输入框 |
| 64 | const searchInput = this.createSearchInput(searchContainer); |
| 65 | |
| 66 | // 创建搜索加载指示器 |
| 67 | const searchLoadingIndicator = this.createSearchLoadingIndicator(searchContainer); |
| 68 | |
| 69 | // 创建图标按钮容器 |
| 70 | const iconButtonsContainer = searchContainer.createEl("div", { |
| 71 | cls: "highlight-search-icons" |
| 72 | }); |
| 73 | |
| 74 | // 创建高亮容器 |
| 75 | const highlightContainer = mainContentContainer.createEl("div", { |
| 76 | cls: "highlight-container" |
| 77 | }); |
| 78 | |
| 79 | // 创建加载指示器 |
| 80 | const loadingIndicator = this.createLoadingIndicator(); |
| 81 | |
| 82 | return { |
| 83 | mainContainer, |
| 84 | fileListContainer, |
| 85 | mainContentContainer, |
| 86 | backButtonContainer, |
| 87 | backButton, |
| 88 | searchContainer, |
| 89 | searchInput, |
| 90 | searchLoadingIndicator, |
| 91 | iconButtonsContainer, |
no test coverage detected