diff --git a/jslib b/jslib index 6ac6df75..68bd93e4 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit 6ac6df75d7a9bd5ea58f5d8310f1b3e34abd2bde +Subproject commit 68bd93e45bd9acb9df18cf7806d51710f1986237 diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index d863ac19..c8d497b7 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -153,11 +153,11 @@ const routes: Routes = [ canActivate: [UnauthGuardService], data: { titleId: 'deleteAccount' }, }, - /*{ + { path: 'send/:sendId/:key', component: AccessComponent, data: { title: 'Bitwarden Send' }, - },*/ + }, ], }, { diff --git a/src/app/layouts/navbar.component.html b/src/app/layouts/navbar.component.html index b50c212d..4e074047 100644 --- a/src/app/layouts/navbar.component.html +++ b/src/app/layouts/navbar.component.html @@ -8,9 +8,9 @@ - + diff --git a/src/app/send/send.component.ts b/src/app/send/send.component.ts index 9336aad5..e776f01b 100644 --- a/src/app/send/send.component.ts +++ b/src/app/send/send.component.ts @@ -1,6 +1,7 @@ import { Component, ComponentFactoryResolver, + NgZone, OnInit, ViewChild, ViewContainerRef, @@ -20,6 +21,10 @@ import { I18nService } from 'jslib/abstractions/i18n.service'; import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; import { SendService } from 'jslib/abstractions/send.service'; +import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; + +const BroadcasterSubscriptionId = 'SendComponent'; + @Component({ selector: 'app-send', templateUrl: 'send.component.html', @@ -49,11 +54,29 @@ export class SendComponent implements OnInit { constructor(private apiService: ApiService, private sendService: SendService, private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver, - private platformUtilsService: PlatformUtilsService, private environmentService: EnvironmentService) { } + private platformUtilsService: PlatformUtilsService, private environmentService: EnvironmentService, + private broadcasterService: BroadcasterService, private ngZone: NgZone) { } async ngOnInit() { + this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => { + this.ngZone.run(async () => { + switch (message.command) { + case 'syncCompleted': + if (message.successfully) { + await this.load(); + } + break; + } + }); + }); + await this.load(); } + + ngOnDestroy() { + this.broadcasterService.unsubscribe(BroadcasterSubscriptionId); + } + async load(filter: (send: SendView) => boolean = null) { this.loading = true; const sends = await this.sendService.getAllDecrypted();