summaryrefslogtreecommitdiffstats
path: root/usecaseui-portal/src/app/views/maas/knowledge-base-management
diff options
context:
space:
mode:
Diffstat (limited to 'usecaseui-portal/src/app/views/maas/knowledge-base-management')
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts25
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.html18
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.less21
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.ts106
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.ts4
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.html10
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.ts36
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.type.ts39
8 files changed, 224 insertions, 35 deletions
diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts
index 891fb9bd..2757137b 100644
--- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts
+++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts
@@ -3,7 +3,9 @@ import { Util } from '../../../../shared/utils/utils';
import { NzMessageService, UploadFile } from 'ng-zorro-antd';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
-import { MaasService } from '@src/app/core/services/maas.service';
+import { MaasApi } from '@src/app/api/maas.api';
+import { Operator } from 'rxjs';
+import { MaaSPlatform, Operators } from '../knowledge-base.type';
@Component({
selector: 'app-create-knowledge-base',
@@ -14,16 +16,13 @@ export class CreateKnowledgeBaseComponent implements OnInit {
title = 'Add Knowledge Base';
@Input() showModal: boolean;
@Output() modalOpreation = new EventEmitter();
-
- apiUrl = '/api/usecaseui-llm-adaptation/v1/knowledgeBase/create';
- maasUrl = '/api/usecaseui-llm-adaptation/v1/operator/maas/getAll'
- fileList: UploadFile[] = [];
- operators: any[] = [];
- filteredPlatforms: any[] = [];
+ fileList: File[] = [];
+ operators: Operators[] = [];
+ filteredPlatforms: MaaSPlatform[] = [];
validateForm: FormGroup;
constructor(
- private myhttp: MaasService,
+ private myhttp: MaasApi,
private Util: Util,
private message: NzMessageService,
private http: HttpClient,
@@ -40,7 +39,7 @@ export class CreateKnowledgeBaseComponent implements OnInit {
});
}
fetchOperators(): void {
- this.http.get<any>(this.maasUrl).subscribe(
+ this.myhttp.getOperators().subscribe(
(response) => {
this.operators = response.result_body;
},
@@ -55,7 +54,7 @@ export class CreateKnowledgeBaseComponent implements OnInit {
this.validateForm.controls[i].updateValueAndValidity();
}
}
- handleOperatorChange(value: any): void {
+ handleOperatorChange(value: Operators): void {
if (value) {
this.filteredPlatforms = value.maaSPlatformList;
} else {
@@ -63,7 +62,7 @@ export class CreateKnowledgeBaseComponent implements OnInit {
}
this.validateForm.get('selectedPlatform').setValue(null);
}
- beforeUpload = (file: UploadFile): boolean => {
+ beforeUpload = (file: File): boolean => {
this.fileList.push(file);
return false;
}
@@ -84,7 +83,7 @@ export class CreateKnowledgeBaseComponent implements OnInit {
};
const metaDataJson = JSON.stringify(metaData);
formData.append('metaData', metaDataJson);
- this.fileList.forEach((file: any) => {
+ this.fileList.forEach((file: File) => {
formData.append('files', file);
});
return formData
@@ -96,7 +95,7 @@ export class CreateKnowledgeBaseComponent implements OnInit {
this.showModal = true;
return;
}
- this.http.post<any>(this.apiUrl, this.constructBody()).subscribe(
+ this.myhttp.createKnowledgeBase(this.constructBody()).subscribe(
(response) => {
if (response.result_header.result_code === 200) {
this.message.success('Created successfully');
diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.html b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.html
new file mode 100644
index 00000000..feee9b8f
--- /dev/null
+++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.html
@@ -0,0 +1,18 @@
+<nz-modal [(nzVisible)]="showModal" [nzTitle]="title" (nzOnCancel)="handleCancel()"
+ (nzOnOk)="submitForm()" nzWidth="648px" nzHeight="800px">
+ <form nz-form [formGroup]="validateForm" (ngSubmit)="checkForm()">
+ <nz-form-item>
+ <nz-form-label [nzSpan]="8" nzFor="name" nzRequired>Knowledge Base Name</nz-form-label>
+ <nz-form-control [nzSpan]="12">
+ <input nz-input formControlName="name" placeholder="Please input knowledge base name" />
+ <nz-form-explain *ngIf="validateForm.get('name').dirty && validateForm.get('name').errors">Please input knowledge base name</nz-form-explain>
+ </nz-form-control>
+ </nz-form-item>
+ <nz-form-item>
+ <nz-form-label [nzSpan]="8" nzFor="description">Knowledge Base Description</nz-form-label>
+ <nz-form-control [nzSpan]="12">
+ <textarea rows="2" formControlName="description" nz-input></textarea>
+ </nz-form-control>
+ </nz-form-item>
+ </form>
+</nz-modal> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.less b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.less
new file mode 100644
index 00000000..a5e73a17
--- /dev/null
+++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.less
@@ -0,0 +1,21 @@
+.intent-management-modal {
+ .ant-input {
+ width: 300px;
+ }
+}
+
+
+.resizable-textarea {
+ min-width: 200px;
+ min-height: 80px;
+ resize: vertical;
+}
+
+.disabled-input {
+ color: #00000040;
+ background-color: #f5f5f5;
+ border-color: #d9d9d9;
+ box-shadow: none;
+ cursor: not-allowed;
+ opacity: 1;
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.ts
new file mode 100644
index 00000000..3a71d800
--- /dev/null
+++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.ts
@@ -0,0 +1,106 @@
+import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import { NzMessageService } from 'ng-zorro-antd';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { KnowledgeBase } from '../knowledge-base.type';
+import { MaasApi } from '@src/app/api/maas.api';
+
+@Component({
+ selector: 'app-edit-knowledge-base',
+ templateUrl: './edit-knowledge-base.component.html',
+ styleUrls: ['./edit-knowledge-base.component.less']
+})
+export class EditKnowledgeBaseComponent implements OnInit {
+ title = 'Edit Knowledge Base';
+ @Input() showModal: boolean;
+ @Input() knowledgeBaseId: string;
+ @Output() modalOpreation = new EventEmitter();
+ validateForm: FormGroup;
+ defalutKnowledgeBase: KnowledgeBase = {
+ knowledgeBaseName: '',
+ knowledgeBaseDescription: '',
+ knowledgeBaseId: '',
+ operatorName: '',
+ maaSPlatformName: '',
+ maaSPlatformId: '',
+ updateTime: '',
+ filesName: [],
+ operatorId: ''
+ }
+ knowledgeBase: KnowledgeBase = this.defalutKnowledgeBase;
+
+ constructor(
+ private myhttp: MaasApi,
+ private message: NzMessageService,
+ private fb: FormBuilder,
+ ) { }
+
+ ngOnInit() {
+ this.validateForm = this.fb.group({
+ name: [this.knowledgeBase.knowledgeBaseName, [Validators.required]],
+ description: [this.knowledgeBase.knowledgeBaseDescription],
+ });
+ this.fetchKnowledgeBase();
+ }
+
+ checkForm(): void {
+ for (const i in this.validateForm.controls) {
+ this.validateForm.controls[i].markAsDirty();
+ this.validateForm.controls[i].updateValueAndValidity();
+ }
+ }
+
+ submitForm(): void {
+ this.checkForm();
+ this.create();
+ }
+
+ fetchKnowledgeBase(): void {
+ this.myhttp.getKnowledgeBaseById(this.knowledgeBaseId)
+ .subscribe(
+ (response) => {
+ if (response.result_header.result_code !== 200) {
+ this.message.error('get Knowledge Base error');
+ return;
+ }
+ this.knowledgeBase = response.result_body;
+ this.validateForm.patchValue({
+ name: this.knowledgeBase.knowledgeBaseName,
+ description: this.knowledgeBase.knowledgeBaseDescription
+ });
+ },
+ () => {
+ this.message.error('Failed to obtain knowledge base data');
+ }
+ )
+ }
+
+ handleCancel(): void {
+ this.showModal = false;
+ this.modalOpreation.emit({ "cancel": true });
+ }
+
+ create() {
+ const body = {
+ knowledgeBaseId: this.knowledgeBase.knowledgeBaseId,
+ knowledgeBaseName: this.validateForm.get('name').value,
+ knowledgeBaseDescription: this.validateForm.get('description').value,
+ operatorId: this.knowledgeBase.operatorId,
+ operatorName: this.knowledgeBase.operatorName,
+ maaSPlatformId: this.knowledgeBase.maaSPlatformId,
+ maaSPlatformName: this.knowledgeBase.maaSPlatformName
+ };
+ this.myhttp.updateKnowledgeBase(body).subscribe(
+ (response) => {
+ if (response.result_header.result_code === 200) {
+ this.message.success('update knowledge base successfully');
+ } else {
+ this.message.error(response.result_header.result_message);
+ }
+ this.modalOpreation.emit({ "cancel": false });
+ },
+ (error) => {
+ console.log('Upload failed', error);
+ }
+ );
+ }
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.ts
index 3bcc1455..49b9de4a 100644
--- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.ts
+++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.ts
@@ -20,11 +20,11 @@ export class KnowledgeBaseDetailComponent implements OnInit {
handleCancel(): void {
this.showModal = false;
- this.modalOpreation.emit({ "cancel": true });
+ this.modalOpreation.emit();
}
handleOk(): void {
this.showModal = false;
- this.modalOpreation.emit({ "cancel": true });
+ this.modalOpreation.emit();
}
} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.html b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.html
index 6186ef2f..eb7c232a 100644
--- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.html
+++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.html
@@ -35,8 +35,8 @@
<td>{{ data.knowledgeBaseDescription }}</td>
<td>
<i class="anticon anticon-menu-fold" (click)="displayKnowledgeDetails(data)"></i>
- <!-- <i class="anticon anticon-edit" (click)="editKnowedgeBase(data)"></i> -->
- <i class="anticon anticon-delete" (click)="deleteKnowledgeBase(data)"></i>
+ <i class="anticon anticon-edit" (click)="editKnowedgeBase(data)"></i>
+ <i class="anticon anticon-delete" (click)="showDeleteConfirm(data)"></i>
</td>
</tr>
</tbody>
@@ -45,8 +45,8 @@
<app-create-knowledge-base *ngIf="createModalShow" [showModal]="createModalShow"
(modalOpreation)="createModalClose($event)"></app-create-knowledge-base>
<app-knowledge-base-detail *ngIf="knowledgeBaseShow" [showModal]="knowledgeBaseShow"
- (modalOpreation)="knowledgeBaseDetailClose($event)"
+ (modalOpreation)="knowledgeBaseDetailClose()"
[knowledgeBaseDetail]="knowledgeBaseDetail"></app-knowledge-base-detail>
-<!-- <app-edit-knowledge-base *ngIf="editKnowledgeBaseShow" [showModal]="editKnowledgeBaseShow" [knowledgeBaseId]="knowledgeBaseId"
-(modalOpreation)="editKnowledgeBaseModuleClose($event)"></app-edit-knowledge-base> --> \ No newline at end of file
+<app-edit-knowledge-base *ngIf="editKnowledgeBaseShow" [showModal]="editKnowledgeBaseShow" [knowledgeBaseId]="knowledgeBaseId"
+(modalOpreation)="editKnowledgeBaseModuleClose($event)"></app-edit-knowledge-base> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.ts
index bad5808c..26b672cc 100644
--- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.ts
+++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.ts
@@ -1,7 +1,8 @@
-import { Component, OnInit } from '@angular/core';
-import { NzMessageService } from "ng-zorro-antd";
-import { MaasService } from '@src/app/core/services/maas.service';
-import { KnowledgeBase } from './knowledge-base.type';
+import { Component, OnDestroy, OnInit } from '@angular/core';
+import { NzMessageService, NzModalService } from "ng-zorro-antd";
+import { MaasApi } from '@src/app/api/maas.api';
+import { KnowledgeBase, modalClose } from './knowledge-base.type';
+import { TranslateService } from '@ngx-translate/core';
@Component({
selector: 'app-knowledge-base-management',
@@ -17,8 +18,10 @@ export class KnowledgeBaseManagementComponent implements OnInit {
knowledgeBaseDetail: Object = {};
constructor(
- private myhttp: MaasService,
- private message: NzMessageService
+ private myhttp: MaasApi,
+ private message: NzMessageService,
+ private modalService: NzModalService,
+ private translate: TranslateService
) { }
ngOnInit() {
@@ -40,7 +43,7 @@ export class KnowledgeBaseManagementComponent implements OnInit {
create(): void {
this.createModalShow = true;
}
- createModalClose($event: any): void {
+ createModalClose($event: modalClose): void {
this.createModalShow = false;
if ($event.cancel) {
return;
@@ -48,7 +51,7 @@ export class KnowledgeBaseManagementComponent implements OnInit {
this.getKnowledgeBaseData()
}
- editKnowledgeBaseModuleClose($event: any): void {
+ editKnowledgeBaseModuleClose($event: modalClose): void {
this.editKnowledgeBaseShow = false;
if ($event.cancel) {
return;
@@ -56,11 +59,11 @@ export class KnowledgeBaseManagementComponent implements OnInit {
this.getKnowledgeBaseData()
}
- knowledgeBaseDetailClose($event: any): void {
+ knowledgeBaseDetailClose(): void {
this.knowledgeBaseShow = false;
}
- deleteKnowledgeBase(data): void {
+ deleteKnowledgeBase(data: KnowledgeBase): void {
this.myhttp.deleteKnowledgeBaseData(data.knowledgeBaseId).subscribe((data) => {
this.getKnowledgeBaseData()
if (data.result_header.result_code === 200) {
@@ -86,9 +89,20 @@ export class KnowledgeBaseManagementComponent implements OnInit {
)
}
- editKnowedgeBase(data) {
+ editKnowedgeBase(data: KnowledgeBase) {
this.knowledgeBaseId = data.knowledgeBaseId;
this.editKnowledgeBaseShow = true;
}
+ showDeleteConfirm(data: KnowledgeBase): void {
+ this.modalService.confirm({
+ nzTitle: this.translate.instant('maas.deleteTitle'),
+ nzContent: this.translate.instant('maas.knowledgeBase.deleteKnowledgeBaseContent'),
+ nzOkText: 'Yes',
+ nzOkType: 'danger',
+ nzOnOk: () => this.deleteKnowledgeBase(data),
+ nzCancelText: 'No'
+ });
+ }
+
} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.type.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.type.ts
index e6004ff1..b9ec432d 100644
--- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.type.ts
+++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.type.ts
@@ -10,11 +10,42 @@ export type KnowledgeBase = {
knowledgeBaseId: string
}
-export type KnowledgeBaseResponse = {
- result_body: KnowledgeBase,
- result_header: {
- result_code :number,
+export type KnowledgeBaseResponse = Response<KnowledgeBase>
+
+export type KnowledgeBasesResponse = Response<Array<KnowledgeBase>>
+
+export type Operators = {
+ operatorId: string,
+ operatorName: string,
+ maaSPlatformList: Array<MaaSPlatform>,
+}
+
+export type MaaSPlatform = {
+ maaSPlatformId: string,
+ maaSPlatformName: string,
+ operatorId: string,
+ operatorName: string,
+ modelList: Array<ModelInformation>;
+}
+
+export type ModelInformation = {
+ modelId: string,
+ modelName: string,
+}
+
+export type ResponseHeader = {
+ result_header:{
+ result_code: number,
result_message: string
}
}
+export type OperatorsResponse = Response<Array<Operators>>
+
+export type Response<T> = {
+ result_body: T
+} & ResponseHeader
+
+export type modalClose = {
+ cancel: boolean
+} \ No newline at end of file