bitwarden-estensione-browser/src/popup/settings/folder-add-edit.component.ts

55 lines
1.7 KiB
TypeScript

import { Component } from '@angular/core';
import {
ActivatedRoute,
Router,
} from '@angular/router';
import { first } from 'rxjs/operators';
import { FolderService } from 'jslib-common/abstractions/folder.service';
import { I18nService } from 'jslib-common/abstractions/i18n.service';
import { LogService } from 'jslib-common/abstractions/log.service';
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
import {
FolderAddEditComponent as BaseFolderAddEditComponent,
} from 'jslib-angular/components/folder-add-edit.component';
@Component({
selector: 'app-folder-add-edit',
templateUrl: 'folder-add-edit.component.html',
})
export class FolderAddEditComponent extends BaseFolderAddEditComponent {
constructor(folderService: FolderService, i18nService: I18nService,
platformUtilsService: PlatformUtilsService, private router: Router,
private route: ActivatedRoute, logService: LogService) {
super(folderService, i18nService, platformUtilsService, logService);
}
async ngOnInit() {
this.route.queryParams.pipe(first()).subscribe(async params => {
if (params.folderId) {
this.folderId = params.folderId;
}
await this.init();
});
}
async submit(): Promise<boolean> {
if (await super.submit()) {
this.router.navigate(['/folders']);
return true;
}
return false;
}
async delete(): Promise<boolean> {
const confirmed = await super.delete();
if (confirmed) {
this.router.navigate(['/folders']);
}
return confirmed;
}
}