e6c9618920f5e2878ab3a53dea6c1baa1929b998
[usecase-ui.git] /
1 import { Component, OnDestroy, OnInit } from '@angular/core';
2 import { NzMessageService, NzModalService } from "ng-zorro-antd";
3 import { MaasApi } from '@src/app/api/maas.api';
4 import { KnowledgeBase, modalClose } from './knowledge-base.type';
5 import { TranslateService } from '@ngx-translate/core';
6
7 @Component({
8   selector: 'app-knowledge-base-management',
9   templateUrl: './knowledge-base-management.component.html',
10   styleUrls: ['./knowledge-base-management.component.less']
11 })
12 export class KnowledgeBaseManagementComponent implements OnInit {
13   editKnowledgeBaseShow = false;
14   knowledgeBaseId = '';
15   data: KnowledgeBase[] = [];
16   createModalShow: boolean = false;
17   knowledgeBaseShow: boolean = false;
18   knowledgeBaseDetail: Object = {};
19
20   constructor(
21     private myhttp: MaasApi,
22     private message: NzMessageService,
23     private modalService: NzModalService,
24     private translate: TranslateService
25   ) { }
26
27   ngOnInit() {
28     this.getKnowledgeBaseData()
29   }
30
31   getKnowledgeBaseData(): void {
32     this.myhttp.getKnowledgeBaseRecord()
33       .subscribe(
34         (data) => {
35           this.data = data.result_body
36         },
37         () => {
38           this.message.error('Failed to obtain knowledgeBase data');
39         }
40       )
41   }
42
43   create(): void {
44     this.createModalShow = true;
45   }
46   createModalClose($event: modalClose): void {
47     this.createModalShow = false;
48     if ($event.cancel) {
49       return;
50     }
51     this.getKnowledgeBaseData()
52   }
53
54   editKnowledgeBaseModuleClose($event: modalClose): void {
55     this.editKnowledgeBaseShow = false;
56     if ($event.cancel) {
57       return;
58     }
59     this.getKnowledgeBaseData()
60   }
61
62   knowledgeBaseDetailClose(): void {
63     this.knowledgeBaseShow = false;
64   }
65
66   deleteKnowledgeBase(data: KnowledgeBase): void {
67     this.myhttp.deleteKnowledgeBaseData(data.knowledgeBaseId).subscribe((data) => {
68       this.getKnowledgeBaseData()
69       if (data.result_header.result_code === 200) {
70         this.message.success('Deleted successfully');
71       } else {
72         this.message.error(data.result_header.result_message);
73       }
74     }, () => {
75       this.message.error('Deletion failed');
76     });
77   }
78
79   displayKnowledgeDetails(data): void {
80     this.knowledgeBaseId = data.knowledgeBaseId;
81     this.knowledgeBaseShow = true;
82   }
83
84   editKnowedgeBase(data: KnowledgeBase) {
85     this.knowledgeBaseId = data.knowledgeBaseId;
86     this.editKnowledgeBaseShow = true;
87   }
88
89   showDeleteConfirm(data: KnowledgeBase): void {
90     this.modalService.confirm({
91       nzTitle: this.translate.instant('maas.deleteTitle'),
92       nzContent: this.translate.instant('maas.knowledgeBase.deleteKnowledgeBaseContent'),
93       nzOkText: 'Yes',
94       nzOkType: 'danger',
95       nzOnOk: () => this.deleteKnowledgeBase(data),
96       nzCancelText: 'No',
97       nzIconType: 'warning',
98     });
99   }
100
101 }