Skip to content

Commit 0e188b9

Browse files
committed
chore: use dialog helper for settings
1 parent 75bbc20 commit 0e188b9

File tree

1 file changed

+14
-25
lines changed

1 file changed

+14
-25
lines changed

src/utils/settings/index.js

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { translateText } from '../translate.js';
1313
import RegisteredSetting from './RegisteredSetting.js';
1414
import styles from './settings.css';
1515
import { isSettingType, registry } from './settingRegistry.js';
16+
import DialogHelper from '../DialogHelper.js';
1617

1718
const defaultSetting = new RegisteredSetting();
1819

@@ -26,7 +27,7 @@ const settingReg = {
2627
};
2728
const events = eventEmitter();
2829
const configs = new Map();
29-
let dialog = null;
30+
const dialog = new DialogHelper();
3031
let updateLock = false;
3132

3233
/**
@@ -295,26 +296,12 @@ export function open(page = 'main') {
295296
getScreen().render(true);
296297
return;
297298
}
298-
BootstrapDialog.show({
299-
title: Translation.Setting('title'),
299+
dialog.open({
300+
title: Translation.Setting('title').translate(),
300301
// size: 'size-wide',
301302
message() {
302303
return getScreen().render(true);
303304
},
304-
cssClass: 'mono underscript-dialog',
305-
buttons: [{
306-
label: 'Close',
307-
action: close,
308-
}],
309-
onshown: (diag) => {
310-
dialog = diag;
311-
events.emit('open');
312-
eventManager.emit('Settings:open', diag.getModalBody());
313-
},
314-
onhidden: () => {
315-
dialog = null;
316-
events.emit('close');
317-
},
318305
});
319306
}
320307

@@ -327,15 +314,8 @@ export function setDisplayName(name, page = 'main') {
327314
return false;
328315
}
329316

330-
export function close() {
331-
if (isOpen()) {
332-
dialog.close();
333-
dialog = null;
334-
}
335-
}
336-
337317
export function isOpen() {
338-
return dialog !== null;
318+
return dialog.isOpen();
339319
}
340320

341321
export function value(key) {
@@ -467,3 +447,12 @@ function untilClose(key, callback, ...extra) {
467447
function getLogger({ page } = defaultSetting) {
468448
return page.logger || console;
469449
}
450+
451+
dialog.onOpen((diag) => {
452+
events.emit('open');
453+
eventManager.emit('Settings:open', diag.getModalBody());
454+
});
455+
456+
dialog.onClose(() => {
457+
events.emit('close');
458+
});

0 commit comments

Comments
 (0)