You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
frontend/src/app/components/option-picker/option-picker.component.ts

40 lines
1.2 KiB

import {Component, Input, OnInit} from '@angular/core';
import {Router} from '@angular/router';
import {ApiService} from '../../service/api.service';
import {PopoverController} from '@ionic/angular';
import {DatabaseService} from "../../service/db/database.service";
@Component({
selector: 'app-option-picker',
templateUrl: './option-picker.component.html',
styleUrls: ['./option-picker.component.scss'],
})
export class OptionPickerComponent implements OnInit {
@Input() toggleDark: () => void;
@Input() isDark: () => boolean;
@Input() showSearch: () => void | Promise<void>;
constructor(
protected api: ApiService,
protected router: Router,
protected popover: PopoverController,
protected db: DatabaseService,
) { }
ngOnInit() {}
async onSelect(key) {
if ( key === 'html_export' ) {
window.open(this.api._build_url('/data/export/html'), '_blank');
} else if ( key === 'logout' ) {
await this.db.purge();
window.location.href = '/auth/logout';
} else if ( key === 'toggle_darkmode' ) {
this.toggleDark();
} else if ( key === 'search_everywhere' ) {
this.showSearch();
this.popover.dismiss();
}
}
}