mirror of https://github.com/keeweb/keeweb.git
61 lines
1.3 KiB
JavaScript
61 lines
1.3 KiB
JavaScript
import { View } from 'framework/views/view';
|
|
import { Events } from 'framework/events';
|
|
import { Launcher } from 'comp/launcher';
|
|
import template from 'templates/titlebar-buttons.hbs';
|
|
|
|
class TitlebarButtonsView extends View {
|
|
parent = '.app__titlebar';
|
|
|
|
template = template;
|
|
|
|
events = {
|
|
'click .titlebar-buttons-minimize': 'clickMinimize',
|
|
'click .titlebar-buttons-maximize': 'clickMaximize',
|
|
'click .titlebar-buttons-restore': 'clickRestore',
|
|
'click .titlebar-buttons-close': 'clickClose'
|
|
};
|
|
|
|
constructor() {
|
|
super();
|
|
|
|
this.maximized = Launcher.mainWindowMaximized();
|
|
|
|
this.listenTo(Events, 'app-maximized', this.appMaximized);
|
|
this.listenTo(Events, 'app-unmaximized', this.appUnmaximized);
|
|
}
|
|
|
|
render() {
|
|
super.render({
|
|
maximized: this.maximized
|
|
});
|
|
}
|
|
|
|
clickMinimize() {
|
|
Launcher.minimizeMainWindow();
|
|
}
|
|
|
|
clickMaximize() {
|
|
Launcher.maximizeMainWindow();
|
|
}
|
|
|
|
clickRestore() {
|
|
Launcher.restoreMainWindow();
|
|
}
|
|
|
|
clickClose() {
|
|
window.close();
|
|
}
|
|
|
|
appMaximized() {
|
|
this.maximized = true;
|
|
this.render();
|
|
}
|
|
|
|
appUnmaximized() {
|
|
this.maximized = false;
|
|
this.render();
|
|
}
|
|
}
|
|
|
|
export { TitlebarButtonsView };
|