diff --git a/src/workbench/browser/src/app/pages/api/api.component.html b/src/workbench/browser/src/app/pages/api/api.component.html
index 8f452e9b..9c7f63ae 100644
--- a/src/workbench/browser/src/app/pages/api/api.component.html
+++ b/src/workbench/browser/src/app/pages/api/api.component.html
@@ -52,8 +52,18 @@
- Manage Environment
+ Manage Environment
+
+
+
diff --git a/src/workbench/browser/src/app/pages/api/api.component.scss b/src/workbench/browser/src/app/pages/api/api.component.scss
index 1c4dab65..0e4b5439 100644
--- a/src/workbench/browser/src/app/pages/api/api.component.scss
+++ b/src/workbench/browser/src/app/pages/api/api.component.scss
@@ -93,3 +93,16 @@ nz-divider {
color: #00785a;
}
+.icon {
+ -webkit-app-region: no-drag;
+ width: 30px;
+ height: 30px;
+ font-size: 1.5em;
+ color: rgba(0,0,0,0.5);
+ cursor: pointer;
+ border-radius: 3px;
+ transition: all .4s ease;
+ &:hover {
+ background-color: rgba(0,0,0,0.05);
+ }
+}
diff --git a/src/workbench/browser/src/app/pages/api/api.component.ts b/src/workbench/browser/src/app/pages/api/api.component.ts
index 595cb1fc..26e04ee9 100644
--- a/src/workbench/browser/src/app/pages/api/api.component.ts
+++ b/src/workbench/browser/src/app/pages/api/api.component.ts
@@ -7,7 +7,10 @@ import { Message, MessageService } from '../../shared/services/message';
import { ApiService } from './api.service';
import { StorageService } from '../../shared/services/storage';
import { Change } from '../../shared/store/env.state';
+import { NzModalRef } from 'ng-zorro-antd/modal';
+import { ModalService } from '../../shared/services/modal.service';
import { RemoteService } from 'eo/workbench/browser/src/app/shared/services/remote/remote.service';
+import { EnvListComponent } from 'eo/workbench/browser/src/app/shared/components/env-list/env-list.component';
@Component({
selector: 'eo-api',
@@ -47,6 +50,7 @@ export class ApiComponent implements OnInit, OnDestroy {
private messageService: MessageService,
private storage: StorageService,
private remoteService: RemoteService,
+ private modalService: ModalService,
private store: Store
) {}
@@ -165,5 +169,13 @@ export class ApiComponent implements OnInit, OnDestroy {
});
}
+ handleShowEnv() {
+ const modal: NzModalRef = this.modalService.create({
+ nzTitle: 'Environment',
+ nzContent: EnvListComponent,
+ nzClosable: true,
+ nzFooter: null,
+ });
+ }
handleEnvSelectStatus(event: boolean) {}
}
diff --git a/src/workbench/browser/src/app/pages/navbar/navbar.component.html b/src/workbench/browser/src/app/pages/navbar/navbar.component.html
index 6faafc2c..b98fff4e 100644
--- a/src/workbench/browser/src/app/pages/navbar/navbar.component.html
+++ b/src/workbench/browser/src/app/pages/navbar/navbar.component.html
@@ -6,20 +6,24 @@
-
+
-
-
-
+
+
-
+
-
+ (click)="toggleMaximize()"
+ >
-
+
diff --git a/src/workbench/browser/src/app/shared/components/env-list/env-list.component.ts b/src/workbench/browser/src/app/shared/components/env-list/env-list.component.ts
new file mode 100644
index 00000000..f93672ce
--- /dev/null
+++ b/src/workbench/browser/src/app/shared/components/env-list/env-list.component.ts
@@ -0,0 +1,41 @@
+import { Component, OnInit } from '@angular/core';
+import { it_IT } from 'ng-zorro-antd/i18n';
+import { StorageRes, StorageResStatus } from '../../../shared/services/storage/index.model';
+import { StorageService } from '../../services/storage';
+
+@Component({
+ selector: '',
+ template: `
Environment variable
+
+
+ {{ it.name }}
+ {{ it.description }}
+
`,
+ styleUrls: [],
+})
+export class EnvListComponent implements OnInit {
+ envParams: any = [];
+ constructor(private storage: StorageService) {}
+ async ngOnInit() {
+ const uuid = Number(localStorage.getItem('env:selected')) || null;
+ if (uuid == null) {
+ this.envParams = [];
+ return;
+ }
+ const envList = (await this.getAllEnv()) as [];
+ const [env]: any[] = envList.filter((it: any) => it.uuid === uuid);
+ console.log(env, envList);
+ this.envParams = env.parameters.filter((it: any) => it.name && it.value);
+ }
+ getAllEnv(uuid?: number) {
+ const projectID = 1;
+ return new Promise((resolve) => {
+ this.storage.run('environmentLoadAllByProjectID', [projectID], async (result: StorageRes) => {
+ if (result.status === StorageResStatus.success) {
+ return resolve(result.data || []);
+ }
+ return resolve([]);
+ });
+ });
+ }
+}
diff --git a/src/workbench/browser/src/app/shared/components/env/env.component.html b/src/workbench/browser/src/app/shared/components/env/env.component.html
index 383e6509..ab69c5ad 100644
--- a/src/workbench/browser/src/app/shared/components/env/env.component.html
+++ b/src/workbench/browser/src/app/shared/components/env/env.component.html
@@ -1,18 +1,25 @@
@@ -33,11 +40,13 @@
Environment variable:can be referenced by using {{ varName }} in Document or Test
-
+
-
-
+
diff --git a/src/workbench/browser/src/app/shared/shared.module.ts b/src/workbench/browser/src/app/shared/shared.module.ts
index 49c4e267..7ca3f25f 100644
--- a/src/workbench/browser/src/app/shared/shared.module.ts
+++ b/src/workbench/browser/src/app/shared/shared.module.ts
@@ -25,6 +25,7 @@ import { EoIconparkIconModule } from 'eo/workbench/browser/src/app/eoui/iconpark
import { ApiScriptComponent } from './components/api-script/api-script.component';
import { EouiModule } from 'eo/workbench/browser/src/app/eoui/eoui.module';
import { NzTreeViewModule } from 'ng-zorro-antd/tree-view';
+import { EnvListComponent } from 'eo/workbench/browser/src/app/shared/components/env-list/env-list.component';
const COMPONENTS = [
ToolbarComponent,
@@ -54,7 +55,7 @@ const COMPONENTS = [
EouiModule,
NzTreeViewModule,
],
- declarations: [WebviewDirective, ...COMPONENTS, ApiParamsNumPipe, PageBlankComponent],
+ declarations: [WebviewDirective, ...COMPONENTS, ApiParamsNumPipe, PageBlankComponent, EnvListComponent],
providers: [ModalService],
exports: [WebviewDirective, ...COMPONENTS, ApiParamsNumPipe, EoIconparkIconModule],
})
diff --git a/src/workbench/browser/src/index.html b/src/workbench/browser/src/index.html
index 5841bbc0..fdfa9c90 100644
--- a/src/workbench/browser/src/index.html
+++ b/src/workbench/browser/src/index.html
@@ -1,62 +1,59 @@
+
+
+ Eoapi
+
+
+
+
+
+
+
-
-
- Eoapi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+ .loading_container {
+ position: absolute;
+ top: 40%;
+ left: 50%;
+ transform: translateX(-50%);
+ }
+ .loading_container img {
+ width: 200px;
+ }
+