Skip to content

Commit 38dc157

Browse files
authored
doc(ThemeChooser): update ThemeChooser component use BootstrapBlazorRootContent (#5484)
* doc: 使用 BootstrapBlazorRootContent 重构样式选择组件 * refactor: 更新样式选择弹窗脚本
1 parent 90d11d3 commit 38dc157

File tree

3 files changed

+26
-20
lines changed

3 files changed

+26
-20
lines changed

src/BootstrapBlazor.Server/Components/Components/ThemeChooser.razor

+7-4
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@
99
}
1010
</HeadContent>
1111

12-
<div id="@Id" class="theme">
13-
<PulseButton class="btn-fade btn-theme" Color="Color.None" ImageUrl="@WebsiteOption.CurrentValue.GetAssetUrl("images/m.svg")" TooltipText="@Title" TooltipPlacement="Placement.Left" />
14-
<div class="theme-list">
12+
<div id="@Id" class="theme" @onclick:stopPropagation>
13+
<PulseButton TooltipPlacement="Placement.Left" TooltipText="@Title" Color="Color.None" ImageUrl="@WebsiteOption.CurrentValue.GetAssetUrl("images/m.svg")" class="btn-fade btn-theme" />
14+
</div>
15+
16+
<BootstrapBlazorRootContent>
17+
<div class="theme-list" @onclick:stopPropagation>
1518
<div class="theme-header">
1619
<div class="flex-fill">@HeaderText</div>
1720
<button class="btn-close btn-close-white" type="button" aria-label="Close"></button>
@@ -23,4 +26,4 @@
2326
</div>
2427
}
2528
</div>
26-
</div>
29+
</BootstrapBlazorRootContent>
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,29 @@
1-
import { insertAfter } from "../../_content/BootstrapBlazor/modules/utility.js"
2-
import Data from "../../_content/BootstrapBlazor/modules/data.js"
3-
import EventHandler from "../../_content/BootstrapBlazor/modules/event-handler.js"
1+
import EventHandler from "../../_content/BootstrapBlazor/modules/event-handler.js"
42

53
export function init(id) {
6-
const el = document.getElementById(id)
4+
const el = document.getElementById(id);
75
if (el === null) {
8-
return
6+
return;
97
}
10-
const themeList = el.querySelector('.theme-list')
11-
12-
Data.set(id, { el });
138

9+
const themeList = document.querySelector('.theme-list');
10+
const close = document.querySelector('.theme-list .btn-close');
1411
EventHandler.on(el, 'click', () => {
15-
themeList.classList.toggle('is-open')
16-
})
12+
themeList.classList.toggle('is-open');
13+
});
14+
EventHandler.on(close, 'click', () => {
15+
themeList.classList.remove('is-open');
16+
});
1717
}
1818

1919
export function dispose(id) {
20-
const theme = Data.get(id)
21-
Data.remove(id)
20+
const el = document.getElementById(id);
21+
if (el) {
22+
EventHandler.off(el, 'click');
23+
}
2224

23-
if (theme) {
24-
EventHandler.off(theme.el, 'click')
25+
const close = document.querySelector('.theme-list .btn-close');
26+
if (close) {
27+
EventHandler.off(close, 'click');
2528
}
2629
}

src/BootstrapBlazor.Server/Components/Layout/MainLayout.razor

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
<DialButtonItem>
3232
<LinkButton TooltipPlacement="Placement.Left" ButtonStyle="ButtonStyle.Circle" Color="Color.None" TooltipText="@ChatTooltip" class="btn-fade btn-chat" Url="./ai-chat" Icon="fa-solid fa-comments"></LinkButton>
3333
</DialButtonItem>
34-
@* <DialButtonItem>
34+
<DialButtonItem>
3535
<ThemeChooser></ThemeChooser>
36-
</DialButtonItem> *@
36+
</DialButtonItem>
3737
<DialButtonItem>
3838
<LinkButton TooltipPlacement="Placement.Left" ButtonStyle="ButtonStyle.Circle" Color="Color.None" TooltipText="@Title" class="btn-fade btn-update" Url="@WebsiteOption.CurrentValue.WikiUrl" Target="_blank" ImageUrl="@WebsiteOption.CurrentValue.GetAssetUrl("images/log.svg")"></LinkButton>
3939
</DialButtonItem>

0 commit comments

Comments
 (0)