@@ -13,6 +13,7 @@ import { translateText } from '../translate.js';
1313import RegisteredSetting from './RegisteredSetting.js' ;
1414import styles from './settings.css' ;
1515import { isSettingType , registry } from './settingRegistry.js' ;
16+ import DialogHelper from '../DialogHelper.js' ;
1617
1718const defaultSetting = new RegisteredSetting ( ) ;
1819
@@ -26,7 +27,7 @@ const settingReg = {
2627} ;
2728const events = eventEmitter ( ) ;
2829const configs = new Map ( ) ;
29- let dialog = null ;
30+ const dialog = new DialogHelper ( ) ;
3031let 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-
337317export function isOpen ( ) {
338- return dialog !== null ;
318+ return dialog . isOpen ( ) ;
339319}
340320
341321export function value ( key ) {
@@ -467,3 +447,12 @@ function untilClose(key, callback, ...extra) {
467447function 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