Skip to content

Commit 2706b13

Browse files
committed
refactor: 重构脚本精简代码
1 parent f55e358 commit 2706b13

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

src/BootstrapBlazor/Components/Button/DialButton.razor.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ export function dispose(id) {
6060
if (DialButton.items.length === 0) {
6161
EventHandler.off(document, 'click', closePopup)
6262
}
63-
6463
}
6564

6665
const toggle = (el, list) => {

src/BootstrapBlazor/Components/Button/SlideButton.razor.js

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import Data from "../../modules/data.js"
1+
import { registerBootstrapBlazorModule } from "../../modules/utility.js"
2+
import Data from "../../modules/data.js"
23
import EventHandler from "../../modules/event-handler.js"
34

45
export function init(id) {
@@ -23,11 +24,19 @@ export function init(id) {
2324
list.classList.remove('show')
2425
})
2526

26-
if (!window.bb_slide_button) {
27-
window.bb_slide_button = true
27+
const module = registerBootstrapBlazorModule('SlideButton', {
28+
handle: false,
29+
items: [],
30+
registerClosePopupHandler: function () {
31+
if (this.handle === false) {
32+
this.handle = true;
2833

29-
EventHandler.on(document, 'click', e => closePopup(e));
30-
}
34+
EventHandler.on(document, 'click', closePopup);
35+
}
36+
}
37+
});
38+
module.registerClosePopupHandler();
39+
module.items.push(id);
3140
}
3241

3342
export function update(id) {
@@ -42,10 +51,17 @@ export function dispose(id) {
4251
Data.remove(id)
4352

4453
if (slide) {
45-
EventHandler.off(slide.button, 'click')
46-
EventHandler.off(slide.list, 'click', '.btn-close')
47-
EventHandler.off(slide.list, 'click', '.slide-item')
54+
const { button, list } = slide ?? {};
55+
EventHandler.off(button, 'click');
56+
EventHandler.off(list, 'click');
4857
}
58+
59+
const { SlideButton } = window.BootstrapBlazor;
60+
SlideButton.items.pop(id)
61+
if (SlideButton.items.length === 0) {
62+
EventHandler.off(document, 'click', closePopup)
63+
}
64+
4965
}
5066

5167
const reset = slide => {

0 commit comments

Comments
 (0)