Skip to content
Snippets Groups Projects
Commit 99fff2fc authored by kbeyro's avatar kbeyro
Browse files

Update bulks

parent 73ffe9bc
No related branches found
No related tags found
2 merge requests!108Develop,!73Update bulks
Showing with 27 additions and 16 deletions
......@@ -13,7 +13,6 @@ import {NgxPaginationModule} from 'ngx-pagination';
import {AppRestartModalComponent} from '../modals/app-restart-modal';
import {AppAbortModalComponent} from '../modals/app-abort-modal';
import {RouterTestingModule} from '@angular/router/testing';
import {StorageServiceModule} from 'ngx-webstorage-service';
import {AppInstanceState, User} from '../../../model';
import {Role} from '../../../model/userrole';
import {ServiceAccessMethodType} from '../../../model/service-access-method';
......@@ -272,7 +271,6 @@ describe('Component: AppInstance', () => {
PipesModule,
FormioModule,
RouterTestingModule,
StorageServiceModule,
JwtModule.forRoot({}),
TranslateModule.forRoot({
loader: {
......
......@@ -21,7 +21,6 @@ import {ClustersModule} from './admin/clusters/clusters.module';
import {ClusterService} from '../service/cluster.service';
import {ConfigurationModule} from './admin/configuration/configuration.module';
import {MonitorModule} from './admin/monitor/monitor.module';
import {StorageServiceModule} from 'ngx-webstorage-service';
import {TranslateModule} from '@ngx-translate/core';
import {HttpClientModule} from '@angular/common/http';
import {BrowserModule} from '@angular/platform-browser';
......@@ -48,6 +47,8 @@ import {NgxPaginationModule} from 'ngx-pagination';
import {InputTextModule} from 'primeng/inputtext';
import {BulkSearchPipe} from './bulkDeployment/bulk-list/bulk-search.pipe';
import {CheckboxModule} from 'primeng/checkbox';
import { InputSwitchModule } from 'primeng/inputswitch';
@NgModule({
declarations: [
......@@ -66,7 +67,6 @@ import {CheckboxModule} from 'primeng/checkbox';
],
imports: [
FormsModule,
StorageServiceModule,
CommonModule,
RouterModule,
SharedModule,
......@@ -94,6 +94,7 @@ import {CheckboxModule} from 'primeng/checkbox';
InputTextModule,
TooltipModule,
CheckboxModule,
InputSwitchModule
],
exports: [
AppMarketComponent,
......
......@@ -71,16 +71,20 @@ export class AppdeploymentService {
return this.http.post<BulkDeployment>(this.getUrl() + 'domains', formParams);
}
public getBulksDomainDeployments(): Observable<BulkDeployment[]> {
return this.http.get<BulkDeployment[]>(this.getUrl() + 'domains');
public getBulksDomainDeployments(showDeleted: boolean = false): Observable<BulkDeployment[]> {
const formParams = new HttpParams().append('deleted', showDeleted);
return this.http.get<BulkDeployment[]>(this.getUrl() + 'domains', {params:formParams});
}
public getBulksDomainDeploymentsOwner(): Observable<BulkDeployment[]> {
return this.http.get<BulkDeployment[]>(this.getUrl() + 'domains/vl');
}
public getBulksAppDeployments(): Observable<BulkDeployment[]> {
return this.http.get<BulkDeployment[]>(this.getUrl() + 'apps');
public getBulksAppDeployments(showDeleted: boolean = false): Observable<BulkDeployment[]> {
const formParams = new HttpParams().append('deleted', showDeleted);
return this.http.get<BulkDeployment[]>(this.getUrl() + 'apps', {params:formParams});
}
public getBulksAppDeploymentsOwner(): Observable<BulkDeployment[]> {
......
<app-bulk-list [header]="'BULK.APP.HEADER'" [bulks]="bulks" [mode]="mode" (refresh)="onRefresh()"></app-bulk-list>
<app-bulk-list [header]="'BULK.APP.HEADER'" [bulks]="bulks" [mode]="mode" (refresh)="onRefresh($event)"></app-bulk-list>
......@@ -23,14 +23,14 @@ export class BulkAppListComponent implements OnInit {
this.onRefresh();
}
onRefresh() : void {
onRefresh(showDeleted = false) : void {
if (this.authService.getRoles().find(value => value === 'ROLE_VL_MANAGER') !== undefined) {
this.deployService.getBulksAppDeploymentsOwner().subscribe(data => {
data = data.sort((a, b) => new Date(b.creationDate).getTime() - new Date(a.creationDate).getTime())
this.bulks = data
});
} else {
this.deployService.getBulksAppDeployments().subscribe(data => {
this.deployService.getBulksAppDeployments(showDeleted).subscribe(data => {
data = data.sort((a, b) => new Date(b.creationDate).getTime() - new Date(a.creationDate).getTime())
this.bulks = data
});
......
......@@ -7,7 +7,12 @@
<div *ngIf="mode=== bulkTypeApp">
<button class="btn btn-primary" [routerLink]="['/admin/apps/bulks/new']">New deployment</button>
</div>
<div class="flex">
<div *roles="['ROLE_SYSTEM_ADMIN']" class="flex align-items-center mr-6 pt-2">
<label *ngIf="mode=== bulkTypeApp" class="mr-2" for="showDeleted">Show all</label>
<p-inputSwitch *ngIf="mode=== bulkTypeApp" id="showDeleted" (onChange)="refreshBulks()" [(ngModel)]="showDeleted" ngDefaultControl/>
</div>
<div class="flex align-items-center mr-1">{{ 'BULK.LIST.PER_PAGE' | translate }}:</div>
<span id="selectionItems" class="dropdown"
style="vertical-align: middle; display: inline-block; margin-right: 1rem;">
......@@ -102,7 +107,7 @@
<li *ngIf="mode === bulkTypeApp && bulk?.state !== 'REMOVED'">
<a (click)="getAppBulkDetails(bulk?.id)"> {{"BULK.APP.DOWNLOAD_CSV" | translate}}</a>
</li>
<li *ngIf="mode === bulkTypeApp && bulk?.state !== 'REMOVED'">
<li *ngIf="mode === bulkTypeApp && !(bulk?.state === 'REMOVED' || bulk?.deleted )">
<a (click)="modal.show(); removeBulkId=bulk?.id">{{ 'BULK.LIST.REMOVE' | translate }}</a>
</li>
</ul>
......
......@@ -35,6 +35,7 @@ export class BulkListComponent {
@Output()
public refresh: EventEmitter<boolean> = new EventEmitter<boolean>();
public showDeleted = false;
public readonly bulkTypeDomain = BulkType.DOMAIN;
public readonly bulkTypeApp = BulkType.APPLICATION;
......@@ -161,6 +162,6 @@ export class BulkListComponent {
}
public refreshBulks(): void {
this.refresh.emit(true);
this.refresh.emit(this.showDeleted);
}
}
......@@ -62,7 +62,7 @@
<td>{{getDomainId(response)}}</td>
<td>{{getDomainName(response)}}</td>
<td>{{getDomainCodeName(response)}}</td>
<td style="width: 5%" class="text-right">
<td style="width: 5%" class="text-right" *ngIf="bulk.state !== 'REMOVED'">
<i *ngIf="response.type === 'DOMAIN'" class="pi pi-search" style="font-size: 1.8rem; cursor: pointer" [routerLink]="['/admin/domains/view/', response?.details['domainId']]"></i>
<i *ngIf="response.type === 'USER'" class="pi pi-search" style="font-size: 1.8rem; cursor: pointer" [routerLink]="['/admin/users/view', response?.details['userId']]"></i>
<!-- <span class="dropdown">
......@@ -235,8 +235,8 @@
<td>{{getAppInstanceId(response)}}</td>
<td>{{getAppInstanceName(response)}}</td>
<td>{{getDomainCodeName(response)}}</td>
<td style="width: 5%" class="text-right">
<i class="pi pi-search" style="font-size: 1.8rem; cursor: pointer" [routerLink]="['/instances/', response?.details['appInstanceId']]"></i>
<td style="width: 5%" class="text-right" >
<i *ngIf="bulk.state !== 'REMOVED'" class="pi pi-search" style="font-size: 1.8rem; cursor: pointer" [routerLink]="['/instances/', response?.details['appInstanceId']]"></i>
<!-- <span *ngIf="response?.details['appInstanceId'] !== undefined" class="dropdown">
<a style="display: inline-block" class="dropdown-toggle " aria-expanded="false" aria-haspopup="true"
data-toggle="dropdown" href="#" role="button">
......
......@@ -91,6 +91,7 @@ export class BulkViewComponent implements OnInit, OnDestroy {
this.refresh = timer(0, 20000).pipe(map(() => {
this.deployService.getBulkDeployment(this.bulk.id).subscribe(bulk => {
this.bulk = bulk;
if(bulk.state === 'REMOVED') this.refresh.unsubscribe();
})
})).subscribe()
}
......
......@@ -10,6 +10,7 @@ export class BulkDeployment {
public type: BulkType;
public details: Map<string, string>;
public parallelDeploymentsLimit: number;
public deleted: boolean;
}
export enum BulkDeploymentState {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment