Skip to content

Commit

Permalink
fix(ui): don't fetch /timeline/filter if you are not connected (#3764)
Browse files Browse the repository at this point in the history
Signed-off-by: Benjamin Coenen <benjamin.coenen@corp.ovh.com>
Linked to a report from [Gitter](https://gitter.im/ovh-cds/Lobby)


@ovh/cds
  • Loading branch information
bnjjj committed Dec 24, 2018
1 parent 7670bba commit 8e8adaa
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 33 deletions.
7 changes: 4 additions & 3 deletions ui/src/app/app.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,10 @@ export class AppService {
private _wfStore: WorkflowStore, private _broadcastStore: BroadcastStore, private _timelineStore: TimelineStore,
private _toast: ToastService, private _workflowRunService: WorkflowRunService) {
this.routeParams = this._routerService.getRouteParams({}, this._routeActivated);
this.filterSub = this._timelineStore.getFilter().subscribe(f => {
this.filter = f;
});
}

initFilter(filter: TimelineFilter) {
this.filter = cloneDeep(filter);
}

updateRoute(params: {}) {
Expand Down
14 changes: 7 additions & 7 deletions ui/src/app/service/timeline/timeline.store.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import {Injectable} from '@angular/core';
import {List} from 'immutable';
import {BehaviorSubject, Observable} from 'rxjs/index';
import {map} from 'rxjs/operators';
import {Event} from '../../model/event.model';
import {TimelineFilter} from '../../model/timeline.model';
import {TimelineService} from './timeline.service';
import { Injectable } from '@angular/core';
import { List } from 'immutable';
import { BehaviorSubject, Observable } from 'rxjs/index';
import { map } from 'rxjs/operators';
import { Event } from '../../model/event.model';
import { TimelineFilter } from '../../model/timeline.model';
import { TimelineService } from './timeline.service';

@Injectable()
export class TimelineStore {
Expand Down
22 changes: 11 additions & 11 deletions ui/src/app/views/home/home.component.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import {Component} from '@angular/core';
import {Broadcast} from 'app/model/broadcast.model';
import {NavbarProjectData} from 'app/model/navbar.model';
import {Subscription} from 'rxjs';
import {User} from '../../model/user.model';
import {AuthentificationStore} from '../../service/auth/authentification.store';
import {BroadcastStore} from '../../service/broadcast/broadcast.store';
import {NavbarService} from '../../service/navbar/navbar.service';
import {AutoUnsubscribe} from '../../shared/decorator/autoUnsubscribe';
import { Component } from '@angular/core';
import { Broadcast } from 'app/model/broadcast.model';
import { NavbarProjectData } from 'app/model/navbar.model';
import { Subscription } from 'rxjs';
import { User } from '../../model/user.model';
import { AuthentificationStore } from '../../service/auth/authentification.store';
import { BroadcastStore } from '../../service/broadcast/broadcast.store';
import { NavbarService } from '../../service/navbar/navbar.service';
import { AutoUnsubscribe } from '../../shared/decorator/autoUnsubscribe';

@Component({
selector: 'app-home',
Expand All @@ -26,8 +26,8 @@ export class HomeComponent {
_broadcastSub: Subscription;

constructor(
private _navbarService: NavbarService,
private _broadcastService: BroadcastStore,
private _navbarService: NavbarService,
private _broadcastService: BroadcastStore,
private _authStore: AuthentificationStore
) {
this.user = this._authStore.getUser();
Expand Down
34 changes: 22 additions & 12 deletions ui/src/app/views/home/timeline/home.timeline.component.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import {Component, OnInit} from '@angular/core';
import {TranslateService} from '@ngx-translate/core';
import {Subscription} from 'rxjs/Subscription';
import {Event} from '../../../model/event.model';
import {PipelineStatus} from '../../../model/pipeline.model';
import {ProjectFilter, TimelineFilter} from '../../../model/timeline.model';
import {TimelineStore} from '../../../service/timeline/timeline.store';
import {AutoUnsubscribe} from '../../../shared/decorator/autoUnsubscribe';
import {ToastService} from '../../../shared/toast/ToastService';
import { Component, OnInit } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import { AppService } from 'app/app.service';
import { AuthentificationStore } from 'app/service/services.module';
import { Subscription } from 'rxjs/Subscription';
import { Event } from '../../../model/event.model';
import { PipelineStatus } from '../../../model/pipeline.model';
import { ProjectFilter, TimelineFilter } from '../../../model/timeline.model';
import { TimelineStore } from '../../../service/timeline/timeline.store';
import { AutoUnsubscribe } from '../../../shared/decorator/autoUnsubscribe';
import { ToastService } from '../../../shared/toast/ToastService';

@Component({
selector: 'app-home-timeline',
Expand All @@ -28,15 +30,23 @@ export class HomeTimelineComponent implements OnInit {
filter: TimelineFilter;
filterSub: Subscription;

constructor(private _timelineStore: TimelineStore, private _translate: TranslateService,
private _toast: ToastService) {
constructor(
private _authStore: AuthentificationStore,
private _appService: AppService,
private _timelineStore: TimelineStore,
private _translate: TranslateService,
private _toast: ToastService
) {
this.filter = new TimelineFilter();
}

ngOnInit(): void {
if (!this._authStore.isConnected) {
return;
}
this.filterSub = this._timelineStore.getFilter().subscribe(f => {
this.filter = f;

this._appService.initFilter(this.filter);
if (this.timelineSub) {
this.timelineSub.unsubscribe();
}
Expand Down

0 comments on commit 8e8adaa

Please sign in to comment.