diff --git a/demo-shell/src/app/components/app-layout/cloud/apps-cloud-demo.component.ts b/demo-shell/src/app/components/app-layout/cloud/apps-cloud-demo.component.ts index ea7cd0f55f..d8459c61a2 100644 --- a/demo-shell/src/app/components/app-layout/cloud/apps-cloud-demo.component.ts +++ b/demo-shell/src/app/components/app-layout/cloud/apps-cloud-demo.component.ts @@ -17,6 +17,7 @@ import { Component } from '@angular/core'; import { Router } from '@angular/router'; +import { CloudLayoutService } from './services/cloud-layout.service'; @Component({ templateUrl: './apps-cloud-demo.component.html' @@ -24,10 +25,11 @@ import { Router } from '@angular/router'; export class AppsCloudDemoComponent { - constructor(private router: Router) { + constructor(private router: Router, private cloudLayoutService: CloudLayoutService) { } onAppClick(app) { + this.cloudLayoutService.setCurrentTaskFilterParam({key: 'my-tasks'}); this.router.navigate([`/cloud/${app.name}`]); } } diff --git a/demo-shell/src/app/components/app-layout/cloud/cloud-filters-demo.component.html b/demo-shell/src/app/components/app-layout/cloud/cloud-filters-demo.component.html index a2baed957a..79ead49bfb 100644 --- a/demo-shell/src/app/components/app-layout/cloud/cloud-filters-demo.component.html +++ b/demo-shell/src/app/components/app-layout/cloud/cloud-filters-demo.component.html @@ -1,12 +1,12 @@ - + Task Filters - + Process Filters ; + currentProcessFilter$: Observable; - currentTaskFilter$: Observable; - currentProcessFilter$: Observable; + toggleTaskFilter = true; + toggleProcessFilter = true; - constructor(private cloudLayoutService: CloudLayoutService, private router: Router) { - } + expandTaskFilter = true; + expandProcessFilter = false; - ngOnInit() { - this.currentTaskFilter$ = this.cloudLayoutService.getCurrentTaskFilterParam(); - this.currentProcessFilter$ = this.cloudLayoutService.getCurrentProcessFilterParam(); - } + constructor( + private cloudLayoutService: CloudLayoutService, + private router: Router, + private route: ActivatedRoute + ) {} - onTaskFilterSelected(filter) { - this.cloudLayoutService.setCurrentTaskFilterParam({id: filter.id}); - const currentFilter = Object.assign({}, filter); - this.router.navigate([`/cloud/${this.appName}/tasks/`], { queryParams: currentFilter }); - } + ngOnInit() { + this.currentTaskFilter$ = this.cloudLayoutService.getCurrentTaskFilterParam(); + this.currentProcessFilter$ = this.cloudLayoutService.getCurrentProcessFilterParam(); + let root = ''; + if ( this.route.snapshot && this.route.snapshot.firstChild) { + root = this.route.snapshot.firstChild.url[0].path; + if (root === 'tasks') { + this.expandTaskFilter = true; + this.expandProcessFilter = false; + } else if (root === 'processes') { + this.expandProcessFilter = true; + this.expandTaskFilter = false; + } + } + } - onProcessFilterSelected(filter) { - this.cloudLayoutService.setCurrentProcessFilterParam({id: filter.id}); - const currentFilter = Object.assign({}, filter); - this.router.navigate([`/cloud/${this.appName}/processes/`], { queryParams: currentFilter }); - } + onTaskFilterSelected(filter) { + this.cloudLayoutService.setCurrentTaskFilterParam({id: filter.id}); + const currentFilter = Object.assign({}, filter); + this.router.navigate([`/cloud/${this.appName}/tasks/`], { queryParams: currentFilter }); + } + onProcessFilterSelected(filter) { + this.cloudLayoutService.setCurrentProcessFilterParam({id: filter.id}); + const currentFilter = Object.assign({}, filter); + this.router.navigate([`/cloud/${this.appName}/processes/`], { queryParams: currentFilter }); + } + + onTaskFilterOpen(): boolean { + this.expandTaskFilter = true; + this.expandProcessFilter = false; + return this.toggleTaskFilter; + } + + onTaskFilterClose(): boolean { + return !this.toggleTaskFilter; + } + + onProcessFilterOpen(): boolean { + this.expandProcessFilter = true; + this.expandTaskFilter = false; + return this.toggleProcessFilter; + } + + onProcessFilterClose(): boolean { + return !this.toggleProcessFilter; + } } diff --git a/demo-shell/src/app/components/app-layout/cloud/services/cloud-layout.service.ts b/demo-shell/src/app/components/app-layout/cloud/services/cloud-layout.service.ts index fc2e8b9207..bf3d8b9d71 100644 --- a/demo-shell/src/app/components/app-layout/cloud/services/cloud-layout.service.ts +++ b/demo-shell/src/app/components/app-layout/cloud/services/cloud-layout.service.ts @@ -48,5 +48,4 @@ export class CloudLayoutService { setCurrentProcessFilterParam(param) { this.filterProcessSubject.next(param); } - } diff --git a/demo-shell/src/app/components/app-layout/cloud/start-process-cloud-demo.component.ts b/demo-shell/src/app/components/app-layout/cloud/start-process-cloud-demo.component.ts index 4bd02ea2f9..29542a32b9 100644 --- a/demo-shell/src/app/components/app-layout/cloud/start-process-cloud-demo.component.ts +++ b/demo-shell/src/app/components/app-layout/cloud/start-process-cloud-demo.component.ts @@ -44,12 +44,13 @@ export class StartProcessCloudDemoComponent implements OnInit { } onStartProcessSuccess() { - this.router.navigate([`/cloud/${this.applicationName}`]); this.cloudLayoutService.setCurrentProcessFilterParam({ key: 'running-processes' }); + this.router.navigate([`/cloud/${this.applicationName}/processes`]); } onCancelStartProcess() { - this.router.navigate([`/cloud/${this.applicationName}`]); + this.cloudLayoutService.setCurrentProcessFilterParam({ key: 'all-processes' }); + this.router.navigate([`/cloud/${this.applicationName}/processes`]); } openSnackMessage(event: any) { diff --git a/demo-shell/src/app/components/app-layout/cloud/start-task-cloud-demo.component.ts b/demo-shell/src/app/components/app-layout/cloud/start-task-cloud-demo.component.ts index ab1d8e21de..67324322b1 100644 --- a/demo-shell/src/app/components/app-layout/cloud/start-task-cloud-demo.component.ts +++ b/demo-shell/src/app/components/app-layout/cloud/start-task-cloud-demo.component.ts @@ -41,12 +41,13 @@ export class StartTaskCloudDemoComponent implements OnInit { } onStartTaskSuccess() { - this.router.navigate([`/cloud/${this.applicationName}`]); this.cloudLayoutService.setCurrentTaskFilterParam({key: 'my-tasks'}); + this.router.navigate([`/cloud/${this.applicationName}/tasks`]); } onCancelStartTask() { - this.router.navigate([`/cloud/${this.applicationName}`]); + this.cloudLayoutService.setCurrentTaskFilterParam({key: 'my-tasks'}); + this.router.navigate([`/cloud/${this.applicationName}/tasks`]); } openSnackMessage(event: any) {