No flags found
Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.
e.g., #unittest #integration
#production #enterprise
#frontend #backend
5e8a4a7
... +0 ...
02f1988
Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.
e.g., #unittest #integration
#production #enterprise
#frontend #backend
1 | - | import { Component, OnInit, OnDestroy } from '@angular/core'; |
|
1 | + | import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; |
|
2 | 2 | import { Router } from '@angular/router'; |
|
3 | 3 | import { Page } from '../../shared/model/page'; |
|
4 | 4 | import { TaskExecution } from '../model/task-execution'; |
12 | 12 | import { AppError } from '../../shared/model/error.model'; |
|
13 | 13 | import { AuthService } from '../../auth/auth.service'; |
|
14 | 14 | import { TaskDefinition } from '../model/task-definition'; |
|
15 | + | import { TasksTabulationComponent } from '../components/tasks-tabulation/tasks-tabulation.component'; |
|
15 | 16 | ||
16 | 17 | /** |
|
17 | 18 | * Component that display the Task Executions. |
37 | 38 | */ |
|
38 | 39 | private ngUnsubscribe$: Subject<any> = new Subject(); |
|
39 | 40 | ||
41 | + | /** |
|
42 | + | * Tabulation |
|
43 | + | */ |
|
44 | + | @ViewChild('tasksTabulation', { static: false }) |
|
45 | + | tasksTabulation: TasksTabulationComponent; |
|
40 | 46 | ||
41 | 47 | /** |
|
42 | 48 | * State of App List Params |
162 | 168 | this.notificationService.error(AppError.is(error) ? error.getMessage() : error); |
|
163 | 169 | } |
|
164 | 170 | ); |
|
171 | + | ||
172 | + | if (this.tasksTabulation) { |
|
173 | + | this.tasksTabulation.forceRefresh(); |
|
174 | + | } |
|
165 | 175 | } |
|
166 | 176 | ||
167 | 177 | /** |
1 | 1 | import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; |
|
2 | - | import { Observable, forkJoin } from 'rxjs'; |
|
2 | + | import { Observable, forkJoin, BehaviorSubject } from 'rxjs'; |
|
3 | 3 | import { TasksService } from '../../tasks.service'; |
|
4 | 4 | import { map, mergeMap, share } from 'rxjs/operators'; |
|
5 | 5 | import { Page } from '../../../shared/model/page'; |
27 | 27 | ||
28 | 28 | counters$: Observable<any>; |
|
29 | 29 | ||
30 | + | hardRefresh: BehaviorSubject<any> = new BehaviorSubject(new Date()); |
|
31 | + | ||
30 | 32 | /** |
|
31 | 33 | * Constructor |
|
32 | 34 | * |
45 | 47 | this.refresh(); |
|
46 | 48 | } |
|
47 | 49 | ||
50 | + | forceRefresh() { |
|
51 | + | this.hardRefresh.next(new Date()) |
|
52 | + | } |
|
53 | + | ||
48 | 54 | refresh() { |
|
49 | 55 | this.params$ = this.sharedAboutService.getFeatureInfo() |
|
50 | 56 | .pipe(map((featureInfo: FeatureInfo) => ({ |
|
51 | 57 | schedulesEnabled: featureInfo.schedulesEnabled |
|
52 | 58 | }))); |
|
53 | 59 | this.counters$ = this.sharedAboutService.getFeatureInfo() |
|
60 | + | .pipe(mergeMap( |
|
61 | + | (featureInfo: FeatureInfo) => { |
|
62 | + | return this.hardRefresh.pipe(map((a) => { |
|
63 | + | return featureInfo; |
|
64 | + | } |
|
65 | + | )); |
|
66 | + | } |
|
67 | + | )) |
|
54 | 68 | .pipe(mergeMap( |
|
55 | 69 | (featureInfo: FeatureInfo) => { |
|
56 | 70 | const arr = []; |
12 | 12 | import { TaskSchedulesDestroyComponent } from '../task-schedules-destroy/task-schedules-destroy.component'; |
|
13 | 13 | import { ViewChild } from '@angular/core'; |
|
14 | 14 | import { ListBarComponent } from '../../shared/components/list/list-bar.component'; |
|
15 | + | import { TasksTabulationComponent } from '../components/tasks-tabulation/tasks-tabulation.component'; |
|
15 | 16 | ||
16 | 17 | /** |
|
17 | 18 | * Provides {@link TaskSchedule} related services. |
37 | 38 | @ViewChild('listBar', { static: true }) |
|
38 | 39 | listBar: ListBarComponent; |
|
39 | 40 | ||
41 | + | /** |
|
42 | + | * Tabulation |
|
43 | + | */ |
|
44 | + | @ViewChild('tasksTabulation', { static: false }) |
|
45 | + | tasksTabulation: TasksTabulationComponent; |
|
46 | + | ||
40 | 47 | /** |
|
41 | 48 | * Unsubscribe |
|
42 | 49 | */ |
212 | 219 | this.notificationService.error(error); |
|
213 | 220 | } |
|
214 | 221 | ); |
|
222 | + | ||
223 | + | if (this.tasksTabulation) { |
|
224 | + | this.tasksTabulation.forceRefresh(); |
|
225 | + | } |
|
215 | 226 | } |
|
216 | 227 | ||
217 | 228 | /** |
20 | 20 | import { ListBarComponent } from '../../shared/components/list/list-bar.component'; |
|
21 | 21 | import { AuthService } from '../../auth/auth.service'; |
|
22 | 22 | import { AppsService } from '../../apps/apps.service'; |
|
23 | + | import { TasksTabulationComponent } from '../components/tasks-tabulation/tasks-tabulation.component'; |
|
23 | 24 | ||
24 | 25 | /** |
|
25 | 26 | * Provides {@link TaskDefinition} related services. |
53 | 54 | @ViewChild('listBar', { static: true }) |
|
54 | 55 | listBar: ListBarComponent; |
|
55 | 56 | ||
57 | + | /** |
|
58 | + | * Tabulation |
|
59 | + | */ |
|
60 | + | @ViewChild('tasksTabulation', { static: false }) |
|
61 | + | tasksTabulation: TasksTabulationComponent; |
|
62 | + | ||
56 | 63 | /** |
|
57 | 64 | * Modal reference |
|
58 | 65 | */ |
281 | 288 | this.notificationService.error(AppError.is(error) ? error.getMessage() : error); |
|
282 | 289 | } |
|
283 | 290 | ); |
|
291 | + | ||
292 | + | if (this.tasksTabulation) { |
|
293 | + | this.tasksTabulation.forceRefresh(); |
|
294 | + | } |
|
284 | 295 | } |
|
285 | 296 | ||
286 | 297 | /** |
Files | Coverage |
---|---|
ui/src | 0.05% 72.76% |
Project Totals (244 files) | 72.76% |
02f1988
5e8a4a7