mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 10:03:33 -06:00
41 lines
916 B
TypeScript
41 lines
916 B
TypeScript
|
import { AppEvents, UrlQueryValue } from '@grafana/data';
|
||
|
import { locationService } from '@grafana/runtime';
|
||
|
import appEvents from '../app_events';
|
||
|
import { KioskMode } from '../../types';
|
||
|
|
||
|
export function toggleKioskMode() {
|
||
|
let kiosk = locationService.getSearchObject().kiosk;
|
||
|
|
||
|
switch (kiosk) {
|
||
|
case 'tv':
|
||
|
kiosk = true;
|
||
|
appEvents.emit(AppEvents.alertSuccess, ['Press ESC to exit Kiosk mode']);
|
||
|
break;
|
||
|
case '1':
|
||
|
case true:
|
||
|
kiosk = null;
|
||
|
break;
|
||
|
default:
|
||
|
kiosk = 'tv';
|
||
|
}
|
||
|
|
||
|
locationService.partial({ kiosk });
|
||
|
}
|
||
|
|
||
|
export function getKioskMode(queryParam?: UrlQueryValue): KioskMode {
|
||
|
switch (queryParam) {
|
||
|
case 'tv':
|
||
|
return KioskMode.TV;
|
||
|
// legacy support
|
||
|
case '1':
|
||
|
case true:
|
||
|
return KioskMode.Full;
|
||
|
default:
|
||
|
return KioskMode.Off;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export function exitKioskMode() {
|
||
|
locationService.partial({ kiosk: null });
|
||
|
}
|