aboutsummaryrefslogtreecommitdiffstats
path: root/cds-ui/designer-client/src
diff options
context:
space:
mode:
authorAhmedEldeeb50 <ahmed.eldeeb.ext@orange.com>2020-06-28 15:29:33 +0200
committerAhmedEldeeb50 <ahmed.eldeeb.ext@orange.com>2020-06-28 15:29:33 +0200
commit34862b8ae117126e055f3cb71b464e448d2c5827 (patch)
tree7caf9ca723f5f2b634891aa206199dd0f7b2078d /cds-ui/designer-client/src
parent83221b2423060db32826065938edeebb5680b30f (diff)
Add package deletion button
Issue-ID: CCSDK-2483 Signed-off-by: AhmedEldeeb50 <ahmed.eldeeb.ext@orange.com> Change-Id: I7e1c0f80eb9e6073a1eb472bd6f042e8545c5ab7
Diffstat (limited to 'cds-ui/designer-client/src')
-rw-r--r--cds-ui/designer-client/src/app/common/core/services/api.typed.service.ts15
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.html26
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.ts21
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.service.ts17
4 files changed, 61 insertions, 18 deletions
diff --git a/cds-ui/designer-client/src/app/common/core/services/api.typed.service.ts b/cds-ui/designer-client/src/app/common/core/services/api.typed.service.ts
index d4851ded5..b73d48ed9 100644
--- a/cds-ui/designer-client/src/app/common/core/services/api.typed.service.ts
+++ b/cds-ui/designer-client/src/app/common/core/services/api.typed.service.ts
@@ -22,9 +22,9 @@ limitations under the License.
============LICENSE_END============================================
*/
-import {Injectable} from '@angular/core';
-import {HttpClient, HttpParams} from '@angular/common/http';
-import {Observable} from 'rxjs';
+import { Injectable } from '@angular/core';
+import { HttpClient, HttpParams } from '@angular/common/http';
+import { Observable } from 'rxjs';
@Injectable()
export class ApiService<T> {
@@ -40,7 +40,7 @@ export class ApiService<T> {
httpParams = httpParams.append(key, params[key]);
}
}
- const options = {params: httpParams};
+ const options = { params: httpParams };
return this.httpClient.get<T[]>(url, options);
}
@@ -49,6 +49,11 @@ export class ApiService<T> {
return this.httpClient.post(url, body, options);
}
+ delete(url: string, body: any | null): Observable<any> {
+
+ return this.httpClient.delete(url, body);
+ }
+
getOne(url: string, params?: {}): Observable<T> {
console.log('params', params);
let httpParams = new HttpParams();
@@ -57,7 +62,7 @@ export class ApiService<T> {
httpParams = httpParams.append(key, params[key]);
}
}
- const options = {params: httpParams};
+ const options = { params: httpParams };
return this.httpClient.get<T>(url, options);
}
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.html b/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.html
index 18c9277eb..8e2ae5dbb 100644
--- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.html
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.html
@@ -48,7 +48,7 @@
<span>Download</span>
</a>
- <a class="action-button delete">
+ <a data-target="#removePackageModal" data-toggle="modal" class="action-button">
<i class="icon-delete-sm" aria-hidden="true"></i>
<span>Delete</span>
</a>
@@ -720,4 +720,28 @@
</div>
</div>
</div>
+</div>
+
+
+<!-- Delete Modal -->
+<div class="modal fade" id="removePackageModal" tabindex="-1" role="dialog" aria-labelledby="removePackageModalLabel"
+ aria-hidden="true">
+ <div class="modal-dialog" role="document">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h5 class="modal-title" id="removePackageModalLabel">Delete Script</h5>
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="modal-body">
+ <p>Are you sure you want to delete this package?</p>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
+ <button type="button" (click)="deletePackage()" data-dismiss="modal"
+ class="btn btn-primary">Delete</button>
+ </div>
+ </div>
+ </div>
</div> \ No newline at end of file
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.ts
index 0ff8d952f..0e1d4cd11 100644
--- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.ts
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.ts
@@ -36,6 +36,7 @@ export class ConfigurationDashboardComponent implements OnInit {
zipFile: JSZip = new JSZip();
filesData: any = [];
folder: FolderNodeElement = new FolderNodeElement();
+ id: any;
currentBlob = new Blob();
@@ -46,15 +47,14 @@ export class ConfigurationDashboardComponent implements OnInit {
private packageCreationUtils: PackageCreationUtils,
private router: Router,
private designerStore: DesignerStore,
- private designerService: DesignerService,
private toastService: ToastrService
) {
}
ngOnInit() {
this.elementRef.nativeElement.focus();
- const id = this.route.snapshot.paramMap.get('id');
- this.configurationDashboardService.getPagedPackages(id).subscribe(
+ this.id = this.route.snapshot.paramMap.get('id');
+ this.configurationDashboardService.getPagedPackages(this.id).subscribe(
(bluePrintDetailModels) => {
if (bluePrintDetailModels) {
this.viewedPackage = bluePrintDetailModels[0];
@@ -62,8 +62,11 @@ export class ConfigurationDashboardComponent implements OnInit {
this.packageCreationStore.clear();
}
});
- }
+ if (this.route.snapshot.paramMap.has('id')) {
+ console.log('The id is equal to ' + this.route.snapshot.paramMap.get('id'));
+ }
+ }
private downloadCBAPackage(bluePrintDetailModels: BluePrintDetailModel) {
this.configurationDashboardService.downloadResource(
@@ -185,7 +188,15 @@ export class ConfigurationDashboardComponent implements OnInit {
});
}
-
+ deletePackage() {
+ this.configurationDashboardService.deletePackage(this.id).subscribe(res => {
+ console.log('Deleted');
+ console.log(res);
+ this.router.navigate(['/packages']);
+ }, err => {
+ console.log(err);
+ });
+ }
create() {
this.zipFile = new JSZip();
FilesContent.getMapOfFilesNamesAndContent().forEach((value, key) => {
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.service.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.service.ts
index 164d76601..c7f557121 100644
--- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.service.ts
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.service.ts
@@ -1,8 +1,8 @@
-import {Injectable} from '@angular/core';
-import {ApiService} from '../../../../common/core/services/api.typed.service';
-import {BlueprintURLs} from '../../../../common/constants/app-constants';
-import {Observable} from 'rxjs';
-import {BluePrintDetailModel} from '../model/BluePrint.detail.model';
+import { Injectable } from '@angular/core';
+import { ApiService } from '../../../../common/core/services/api.typed.service';
+import { BlueprintURLs } from '../../../../common/constants/app-constants';
+import { Observable } from 'rxjs';
+import { BluePrintDetailModel } from '../model/BluePrint.detail.model';
@Injectable({
@@ -22,10 +22,13 @@ export class ConfigurationDashboardService {
}
public downloadResource(path: string) {
- return this.api.getCustomized(BlueprintURLs.download + path, {responseType: 'blob'});
+ return this.api.getCustomized(BlueprintURLs.download + path, { responseType: 'blob' });
}
deployPost(body: any | null): Observable<any> {
- return this.api.post(BlueprintURLs.deploy, body, {responseType: 'text'});
+ return this.api.post(BlueprintURLs.deploy, body, { responseType: 'text' });
+ }
+ deletePackage(id: string) {
+ return this.api.delete(BlueprintURLs.getOneBlueprint + '/' + id, { observe: 'response' });
}
}