You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by dg...@apache.org on 2021/02/19 12:59:47 UTC
[incubator-datalab] 03/04: [DATALAB-2299]: Fixed conflicts for
detail dialogs
This is an automated email from the ASF dual-hosted git repository.
dgnatyshyn pushed a commit to branch DATALAB-2299
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git
commit f1581600026ebad7aa75155bf8b877c62b235e51
Author: Dmytro_Gnatyshyn <di...@ukr.net>
AuthorDate: Fri Feb 19 14:56:18 2021 +0200
[DATALAB-2299]: Fixed conflicts for detail dialogs
---
.../management-grid/management-grid.component.html | 2 +-
.../management-grid/management-grid.component.ts | 2 +-
.../create-odahu-cluster.component.ts | 15 +-
.../odahu/odahu-grid/odahu-grid.component.ts | 3 +-
.../resources/webapp/src/app/app.routing.module.ts | 10 +-
.../webapp/src/app/core/services/index.ts | 2 +-
.../app/core/services/odahu-deployment.service.ts | 9 +-
.../bucket-browser/bucket-browser.component.ts | 1 -
.../folder-tree/folder-tree.component.ts | 5 -
.../detail-dialog/detail-dialog.component.html | 2 +-
.../detail-dialog/detail-dialog.component.ts | 4 +-
.../resources-grid/resources-grid.component.html | 36 ++--
.../resources-grid/resources-grid.component.ts | 14 +-
.../resources-grid/resources-grid.model.ts | 212 ++++++++-------------
.../src/app/resources/resources.component.ts | 4 +-
.../main/resources/webapp/src/app/shared/index.ts | 1 -
.../modal-dialog/edge-action-dialog/index.ts | 2 +-
.../webapp/src/app/shared/navbar/index.ts | 4 +-
18 files changed, 140 insertions(+), 188 deletions(-)
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.html b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.html
index d8d83a5..2168c02 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.html
@@ -38,7 +38,7 @@
</th>
<td mat-cell *matCellDef="let element">
<div
- *ngIf="element.type !== 'edge node' && (element.status==='running' || element.status==='stopped') && !clustersInProgress(element.resources)"
+ *ngIf="element.type !== 'odahu' && element.type !== 'edge node' && (element.status==='running' || element.status==='stopped') && !clustersInProgress(element.resources || [])"
class="empty-checkbox"
[ngClass]="{'checked': element.isSelected}"
(click)="toggleActionForAll(element);$event.stopPropagation()"
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.ts
index 53d00cb..4a3a692 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.ts
@@ -213,7 +213,7 @@ export class ManagementGridComponent implements OnInit, AfterViewInit, AfterView
this.allActiveNotebooks = this.allFilteredEnvironmentData
.filter(v => v.name &&
(v.status === 'running' || v.status === 'stopped') &&
- !this.clustersInProgress(v.resources));
+ !this.clustersInProgress(v.resources || []));
this.checkFilters();
}
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/odahu/create-odahu-claster/create-odahu-cluster.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/odahu/create-odahu-claster/create-odahu-cluster.component.ts
index 4010e78..a4f8360 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/odahu/create-odahu-claster/create-odahu-cluster.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/odahu/create-odahu-claster/create-odahu-cluster.component.ts
@@ -66,16 +66,13 @@ export class CreateOdahuClusterComponent implements OnInit {
}
public setEndpoints(project): void {
- console.log(project);
- console.log(this.data);
this.endpoints = project.endpoints
- // .filter(e => e.status === 'RUNNING' && !this.data.some(odahu => odahu.status !== 'FAILED'
- // && odahu.status !== 'TERMINATED'
- // && odahu.endpoint === e.name
- // && odahu.project === project.name)
- // )
+ .filter(e => e.status === 'RUNNING' && !this.data.some(odahu => odahu.status !== 'FAILED'
+ && odahu.status !== 'TERMINATED'
+ && odahu.endpoint === e.name
+ && odahu.project === project.name)
+ )
.map(e => e.name);
- console.log(project.endpoints);
}
private initFormModel(): void {
@@ -87,7 +84,7 @@ export class CreateOdahuClusterComponent implements OnInit {
});
}
- private createOdahuCluster(value): void {
+ public createOdahuCluster(value): void {
this.dialogRef.close();
this.odahuDeploymentService.createOdahuNewCluster(value).subscribe(() => {
this.toastr.success('Odahu cluster creation is processing!', 'Success!');
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/odahu/odahu-grid/odahu-grid.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/odahu/odahu-grid/odahu-grid.component.ts
index 817d12b..cf05944 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/odahu/odahu-grid/odahu-grid.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/odahu/odahu-grid/odahu-grid.component.ts
@@ -2,9 +2,10 @@ import { Component, OnInit } from '@angular/core';
import {Subscription} from 'rxjs';
import {OdahuDataService} from '../odahu-data.service';
import { MatTableDataSource } from '@angular/material/table';
-import {OdahuDeploymentService} from '../../../core/services';
+
import {ToastrService} from 'ngx-toastr';
import {MatDialog} from '@angular/material/dialog';
+import {OdahuDeploymentService} from '../../../core/services';
import {OdahuActionDialogComponent} from '../../../shared/modal-dialog/odahu-action-dialog';
@Component({
diff --git a/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts b/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts
index 0387a34..fc001d4 100644
--- a/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts
@@ -26,17 +26,17 @@ import { ResourcesComponent } from './resources/resources.component';
import { AccessNotebookGuideComponent, PublicKeyGuideComponent } from './help';
import { NotFoundComponent } from './service-pages/not-found/not-found.component';
import { AccessDeniedComponent } from './service-pages/access-denied/access-denied.component';
-import { ReportingComponent } from './reports/reporting/reporting.component';
import { WebterminalComponent } from './webterminal/webterminal.component';
-import { ManagementComponent } from './administration/management/management.component';
+import { ManagementComponent } from './administration/management';
import { ProjectComponent } from './administration/project/project.component';
import { RolesComponent } from './administration/roles/roles.component';
-import { SwaggerComponent } from './swagger/swagger.component';
+import { SwaggerComponent } from './swagger';
import { AuthorizationGuard, CheckParamsGuard, CloudProviderGuard, AdminGuard, AuditGuard } from './core/services';
-import {AuditComponent} from './reports/audit/audit.component';
import {ConfigurationComponent} from './administration/configuration/configuration.component';
-import {OdahuComponent} from './administration/odahu/odahu.component';
import {ProjectAdminGuard} from './core/services/projectAdmin.guard';
+import {ReportingComponent} from './reports/reporting/reporting.component';
+import {OdahuComponent} from './administration/odahu/odahu.component';
+import {AuditComponent} from './reports/audit/audit.component';
const routes: Routes = [{
path: 'login',
diff --git a/services/self-service/src/main/resources/webapp/src/app/core/services/index.ts b/services/self-service/src/main/resources/webapp/src/app/core/services/index.ts
index 4e9a898..d847415 100644
--- a/services/self-service/src/main/resources/webapp/src/app/core/services/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/services/index.ts
@@ -38,5 +38,5 @@ export * from './rolesManagement.service';
export * from './dataengineConfiguration.service';
export * from './storage.service';
export * from './project.service';
-export * from './endpoint.service';
export * from './odahu-deployment.service';
+export * from './endpoint.service';
diff --git a/services/self-service/src/main/resources/webapp/src/app/core/services/odahu-deployment.service.ts b/services/self-service/src/main/resources/webapp/src/app/core/services/odahu-deployment.service.ts
index f6fe528..6a324f7 100644
--- a/services/self-service/src/main/resources/webapp/src/app/core/services/odahu-deployment.service.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/services/odahu-deployment.service.ts
@@ -1,12 +1,11 @@
import { Injectable } from '@angular/core';
-import {Observable} from 'rxjs';
-import { map, catchError } from 'rxjs/operators';
+import { Observable } from 'rxjs';
+import { catchError, map } from 'rxjs/operators';
+
import { ApplicationServiceFacade } from './applicationServiceFacade.service';
import { ErrorUtils } from '../util';
-@Injectable({
- providedIn: 'root'
-})
+@Injectable()
export class OdahuDeploymentService {
constructor(private applicationServiceFacade: ApplicationServiceFacade) { }
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
index 4c82dc7..7e8ceaf 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
@@ -268,7 +268,6 @@ export class BucketBrowserComponent implements OnInit, OnDestroy {
}
public deleteAddedFile(file) {
- console.log('deleteAddedFile');
if ( file.subscr && file.request) {
this.dialog.open(BucketConfirmationDialogComponent, {data: {items: file, type: 'cancel-uploading'} , width: '550px'})
.afterClosed().subscribe((res) => {
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
index 1721bbc..900723d 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
@@ -76,8 +76,6 @@ export class FolderTreeComponent implements OnDestroy {
this.dataSource.data = data;
const subject = this.dataSource._flattenedData;
const subjectData = subject.getValue();
- console.log('selected', this.selectedFolder);
- console.log('data', subjectData);
if (this.selectedFolder) {
if (this.cloud !== 'azure') {
this.selectedFolder = subjectData.find(v => v.item === this.selectedFolder.item &&
@@ -86,8 +84,6 @@ export class FolderTreeComponent implements OnDestroy {
const selectedFolderPath = this.selectedFolder.obj.slice(0, this.selectedFolder.obj.lastIndexOf('/') + 1);
this.selectedFolder = subjectData.find(v => {
const objectPath = v.obj.slice(0, v.obj.lastIndexOf('/') + 1);
- console.log('objectPath', selectedFolderPath);
- console.log('selectedFolderPath', selectedFolderPath);
return v.item === this.selectedFolder.item &&
v.level === this.selectedFolder.level && objectPath === selectedFolderPath;
});
@@ -164,7 +160,6 @@ export class FolderTreeComponent implements OnDestroy {
if (el) {
this.treeControl.expand(el);
this.selectedFolder = el;
- console.log(this.selectedFolder);
const path = this.getPath(el);
this.path = [];
const data = {
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
index 3d2dfda..51d6883 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
@@ -23,7 +23,7 @@
<button type="button" class="close" (click)="dialogRef.close()">×</button>
</header>
<div class="dialog-content">
- <div *ngIf="data.legion">
+ <div *ngIf="data.odahu">
<table class="detail-header">
<tr>
<td>{{odahu.name}}</td>
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
index 5902275..58b8fbf 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
@@ -26,9 +26,9 @@ import {DateUtils, CheckUtils, HelpUtils} from '../../../core/util';
import { DICTIONARY } from '../../../../dictionary/global.dictionary';
import { DataengineConfigurationService } from '../../../core/services';
import { CLUSTER_CONFIGURATION } from '../../computational/computational-resource-create-dialog/cluster-configuration-templates';
-import {BucketBrowserComponent} from '../../bucket-browser/bucket-browser.component';
import {CopyPathUtils} from '../../../core/util/copyPathUtils';
import {AuditService} from '../../../core/services/audit.service';
+import {BucketBrowserComponent} from '../../bucket-browser/bucket-browser.component';
@Component({
selector: 'detail-dialog',
@@ -38,7 +38,7 @@ import {AuditService} from '../../../core/services/audit.service';
export class DetailDialogComponent implements OnInit {
readonly DICTIONARY = DICTIONARY;
- readonly PROVIDER = this.data.notebook.cloud_provider.toLowerCase();
+ readonly PROVIDER = this.data.pro?.cloud_provider?.toLowerCase() || this.data.odahu?.cloud_provider?.toLowerCase();
public isCopied: boolean = true;
notebook: any;
upTimeInHours: number;
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
index 0b08163..e0c6321 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
@@ -134,7 +134,7 @@
matTooltipPosition="above" class="ellipsis">
{{ element.tags.custom_tag }}
</mat-chip>
- <mat-chip matTooltip="User tag: {{ element.tags.user_tag }}" matTooltipPosition="above" class="ellipsis">
+ <mat-chip *ngIf="element.tags.user_tag" matTooltip="User tag: {{ element.tags.user_tag }}" matTooltipPosition="above" class="ellipsis">
{{ element.tags.user_tag }}
</mat-chip>
<mat-chip matTooltip="Project tag: {{ element.tags.project_tag }}" matTooltipPosition="above" class="ellipsis">
@@ -149,9 +149,9 @@
</computational-resources-list>
</td>
<td *ngIf="healthStatus?.billingEnabled" class="cost-col">
- <span class="total_cost">{{ element.billing.report_lines.length ? (element.cost | localcurrency) : 'N/A' }}</span>
+ <span class="total_cost">{{ element.billing?.report_lines?.length ? (element.cost | localcurrency) : 'N/A' }}</span>
<span (click)="element.billing && printCostDetails(element)" class="currency_details"
- [ngClass]="{ 'not-allowed' : !element.billing.report_lines.length }">
+ [ngClass]="{ 'not-allowed' : !element.billing?.report_lines?.length }">
<i class="material-icons">help_outline</i>
</span>
</td>
@@ -252,25 +252,31 @@
</ul>
<ul class="list-unstyled" *ngIf="element.shape === 'odahu cluster'">
<li class="project-seting-item" *ngIf="element.status === 'stopped'" (click)="odahuAction(element, 'start')">
- <i class="material-icons">play_circle_outline</i>
- <a class="action">
- Start
- </a>
+ <div>
+ <i class="material-icons">play_circle_outline</i>
+ <a class="action">
+ Start
+ </a>
+ </div>
</li>
<li class="project-seting-item" *ngIf="element.status === 'running'" (click)="odahuAction(element, 'stop')">
- <i class="material-icons">pause_circle_outline</i>
- <a class="action" >
- Stop
- </a>
+ <div>
+ <i class="material-icons">pause_circle_outline</i>
+ <a class="action" >
+ Stop
+ </a>
+ </div>
</li>
<li class="project-seting-item"
[ngClass]="{'disabled': element.status === 'stopped' || element.status.toLowerCase() === 'stopping' || element.status.toLowerCase() === 'starting'}"
*ngIf="element.status === element.status !== 'terminated' && element.status !== 'terminating'" (click)="odahuAction(element, 'terminate')"
>
- <i class="material-icons">phonelink_off</i>
- <a class="action">
- Terminate
- </a>
+ <div>
+ <i class="material-icons">phonelink_off</i>
+ <a class="action">
+ Terminate
+ </a>
+ </div>
</li>
</ul>
</bubble-up>
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
index cdb4407..a41a314 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
@@ -23,7 +23,7 @@ import { animate, state, style, transition, trigger } from '@angular/animations'
import { ToastrService } from 'ngx-toastr';
import { MatDialog } from '@angular/material/dialog';
import {ProjectService, UserResourceService, OdahuDeploymentService} from '../../core/services';
-import { ExploratoryModel, Exploratory } from './resources-grid.model';
+import { ExploratoryModel } from './resources-grid.model';
import { FilterConfigurationModel } from './filter-configuration.model';
import { GeneralEnvironmentStatus } from '../../administration/management/management.model';
import { ConfirmationDialogType } from '../../shared';
@@ -37,12 +37,12 @@ import { ConfirmationDialogComponent } from '../../shared/modal-dialog/confirmat
import { SchedulerComponent } from '../scheduler';
import { DICTIONARY } from '../../../dictionary/global.dictionary';
import {ProgressBarService} from '../../core/services/progress-bar.service';
-import {OdahuActionDialogComponent} from '../../shared/modal-dialog/odahu-action-dialog';
import {ComputationModel} from '../computational/computational-resource.model';
import {NotebookModel} from '../exploratory/notebook.model';
import {AuditService} from '../../core/services/audit.service';
-import {JAN} from '@angular/material/core';
-import {ReconfirmationDialogComponent} from '../../administration/management/management-grid/management-grid.component';
+import {NotificationDialogComponent} from '../../shared/modal-dialog/notification-dialog';
+import {OdahuActionDialogComponent} from '../../shared/modal-dialog/odahu-action-dialog';
+
export interface SharedEndpoint {
edge_node_ip: string;
@@ -96,7 +96,7 @@ export class ResourcesGridComponent implements OnInit {
@Input() projects: Array<any>;
@Output() getEnvironments: EventEmitter<any> = new EventEmitter();
- environments: Exploratory[];
+ environments;
collapseFilterRow: boolean = false;
filtering: boolean = false;
@@ -104,7 +104,7 @@ export class ResourcesGridComponent implements OnInit {
activeProject: any;
healthStatus: GeneralEnvironmentStatus;
- filteredEnvironments: Exploratory[] = [];
+ filteredEnvironments = [];
filterConfiguration: FilterConfigurationModel = new FilterConfigurationModel('', [], [], [], '', '');
filterForm: FilterConfigurationModel = new FilterConfigurationModel('', [], [], [], '', '');
@@ -322,7 +322,7 @@ export class ResourcesGridComponent implements OnInit {
}
private getDefaultFilterConfiguration(): void {
- const data: Exploratory[] = this.environments;
+ const data = this.environments;
const shapes = [], statuses = [], resources = [];
data.filter(elem => elem.exploratory.map((item: any) => {
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.model.ts b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.model.ts
index 1465199..8f9ecce 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.model.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.model.ts
@@ -57,141 +57,95 @@ export class ExploratoryModel {
public static loadEnvironments(data: Array<any>) {
if (data) {
-
- // return data.map((value) => {
- // const exploratory = value.exploratory.map(el => {
- // let provider;
- // if (el.cloud_provider) {
- // provider = el.cloud_provider.toLowerCase();
- // }
- // return new ExploratoryModel(
- // provider,
- // el.exploratory_name,
- // el.template_name,
- // el.image,
- // el.status,
- // el.shape,
- // el.computational_resources,
- // el.up_time,
- // el.exploratory_url,
- // value.shared[el.endpoint].edge_node_ip,
- // el.private_ip,
- // el.exploratory_user,
- // el.exploratory_pass,
- // value.shared[el.endpoint][DICTIONARY[provider].bucket_name],
- // value.shared[el.endpoint][DICTIONARY[provider].shared_bucket_name],
- // el.error_message,
- // el[DICTIONARY[provider].billing.cost],
- // el[DICTIONARY[provider].billing.currencyCode],
- // el.billing,
- // el.libs,
- // value.shared[el.endpoint][DICTIONARY[provider].user_storage_account_name],
- // value.shared[el.endpoint][DICTIONARY[provider].shared_storage_account_name],
- // value.shared[el.endpoint][DICTIONARY[provider].datalake_name],
- // value.shared[el.endpoint][DICTIONARY[provider].datalake_user_directory_name],
- // value.shared[el.endpoint][DICTIONARY[provider].datalake_shared_directory_name],
- // el.project,
- // el.endpoint,
- // el.tags
- // );
- // });
- //
- // const odahu = value.odahu.map(el => {
- // let provider;
- // if (el.cloud_provider) {
- // provider = el.cloud_provider.toLowerCase();
- // } else {
- // provider = 'azure';
- // }
- // return new ExploratoryModel(
- // provider,
- // el.name,
- // el.template_name,
- // el.image,
- // el.status.toLowerCase(),
- // 'odahu cluster',
- // [],
- // el.up_time,
- // el.urls,
- // value.shared[el.endpoint].edge_node_ip,
- // el.private_ip,
- // el.exploratory_user,
- // el.exploratory_pass,
- // el.grafana_admin,
- // el.grafana_pass,
- // el.error_message,
- // el[DICTIONARY[provider].billing.cost],
- // el[DICTIONARY[provider].billing.currencyCode],
- // [],
- // [],
- // '',
- // '',
- // '',
- // '',
- // '',
- // el.project,
- // el.endpoint,
- // el.tags
- // )});
- // return {
- // project: value.project,
- // exploratory: [...exploratory, ...odahu]
- // };
- // });
- // }
- // }
-
-
return data.map((value) => {
+ const exploratory = value.exploratory.map(el => {
+ const provider = el.cloud_provider.toLowerCase();
+ const billing = value.exploratoryBilling.filter(res => res.name === el.exploratory_name)[0];
+ return new ExploratoryModel(
+ provider,
+ el.exploratory_name,
+ el.template_name,
+ el.image,
+ el.status,
+ el.shape,
+ el.computational_resources,
+ el.up_time,
+ el.exploratory_url,
+ value.shared[el.endpoint].edge_node_ip,
+ el.private_ip,
+ el.exploratory_user,
+ el.exploratory_pass,
+ value.shared[el.endpoint][DICTIONARY[provider].bucket_name],
+ value.shared[el.endpoint][DICTIONARY[provider].shared_bucket_name],
+ el.error_message,
+ billing ? billing.total_cost : '',
+ billing ? billing.currency : '',
+ billing,
+ el.libs,
+ value.shared[el.endpoint][DICTIONARY[provider].user_storage_account_name],
+ value.shared[el.endpoint][DICTIONARY[provider].shared_storage_account_name],
+ value.shared[el.endpoint][DICTIONARY[provider].datalake_name],
+ value.shared[el.endpoint][DICTIONARY[provider].datalake_user_directory_name],
+ value.shared[el.endpoint][DICTIONARY[provider].datalake_shared_directory_name],
+ el.project,
+ el.endpoint,
+ el.tags,
+ value.shared[el.endpoint].status,
+ !!el.computational_resources.filter(resource => resource.status !== 'terminated' && resource.status !== 'failed').length
+ );
+ });
+
+ const odahu = value.odahu.map(el => {
+ let provider;
+ if (el.cloud_provider) {
+ provider = el.cloud_provider.toLowerCase();
+ } else {
+ provider = 'azure';
+ }
+ return new ExploratoryModel(
+ provider,
+ el.name,
+ el.template_name,
+ el.image,
+ el.status.toLowerCase(),
+ 'odahu cluster',
+ [],
+ el.up_time,
+ el.urls,
+ value.shared[el.endpoint].edge_node_ip,
+ el.private_ip,
+ el.exploratory_user,
+ el.exploratory_pass,
+ el.grafana_admin,
+ el.grafana_pass,
+ el.error_message,
+ el[DICTIONARY[provider].billing.cost],
+ el[DICTIONARY[provider].billing.currencyCode],
+ [],
+ [],
+ '',
+ '',
+ '',
+ '',
+ '',
+ el.project,
+ el.endpoint,
+ el.tags,
+ '',
+ false,
+ ); });
return {
project: value.project,
- projectEndpoints: value.shared,
- endpoints: value.endpoints,
- exploratory: value.exploratory.map(el => {
- const provider = el.cloud_provider.toLowerCase();
- const billing = value.exploratoryBilling.filter(res => res.name === el.exploratory_name)[0];
- return new ExploratoryModel(
- provider,
- el.exploratory_name,
- el.template_name,
- el.image,
- el.status,
- el.shape,
- el.computational_resources,
- el.up_time,
- el.exploratory_url,
- value.shared[el.endpoint].edge_node_ip,
- el.private_ip,
- el.exploratory_user,
- el.exploratory_pass,
- value.shared[el.endpoint][DICTIONARY[provider].bucket_name],
- value.shared[el.endpoint][DICTIONARY[provider].shared_bucket_name],
- el.error_message,
- billing ? billing.total_cost : '',
- billing ? billing.currency : '',
- billing,
- el.libs,
- value.shared[el.endpoint][DICTIONARY[provider].user_storage_account_name],
- value.shared[el.endpoint][DICTIONARY[provider].shared_storage_account_name],
- value.shared[el.endpoint][DICTIONARY[provider].datalake_name],
- value.shared[el.endpoint][DICTIONARY[provider].datalake_user_directory_name],
- value.shared[el.endpoint][DICTIONARY[provider].datalake_shared_directory_name],
- el.project,
- el.endpoint,
- el.tags,
- value.shared[el.endpoint].status,
- !!el.computational_resources.filter(resource => resource.status !== 'terminated' && resource.status !== 'failed').length
- );
- })
+ exploratory: [...exploratory, ...odahu]
};
});
}
}
}
-export interface Exploratory {
- project: string;
- endpoints: [];
- projectEndpoints: [];
- exploratory: ExploratoryModel[];
-}
+// export interface Exploratory {
+// project: string;
+// endpoints: [];
+// projectEndpoints: [];
+// exploratory: ExploratoryModel[];
+// }
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.ts
index f944230..a5185b0 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.ts
@@ -23,11 +23,11 @@ import { MatDialog } from '@angular/material/dialog';
import { ResourcesGridComponent } from './resources-grid/resources-grid.component';
import { ExploratoryEnvironmentCreateComponent } from './exploratory/create-environment';
-import { Exploratory } from './resources-grid/resources-grid.model';
import {ApplicationSecurityService, HealthStatusService} from '../core/services';
import { ManageUngitComponent } from './manage-ungit/manage-ungit.component';
import {BucketBrowserComponent} from './bucket-browser/bucket-browser.component';
+
@Component({
selector: 'datalab-resources',
templateUrl: 'resources.component.html',
@@ -35,7 +35,7 @@ import {BucketBrowserComponent} from './bucket-browser/bucket-browser.component'
})
export class ResourcesComponent implements OnInit, AfterViewInit {
- public exploratoryEnvironments: Exploratory[] = [];
+ public exploratoryEnvironments = [];
public healthStatus: any;
projects = [];
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/index.ts b/services/self-service/src/main/resources/webapp/src/app/shared/index.ts
index 620cb7d..0c56c01 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/index.ts
@@ -21,4 +21,3 @@ export * from './modal-dialog/confirmation-dialog';
export * from './modal-dialog/progress-dialog';
export * from './bubble';
-export * from './inform-message';
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/index.ts b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/index.ts
index fd6e98a..c91d503 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/index.ts
@@ -21,7 +21,7 @@ import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { EdgeActionDialogComponent } from './edge-action-dialog.component';
import { MaterialModule } from '../../material.module';
-import {FormsModule} from "@angular/forms";
+import {FormsModule} from '@angular/forms';
export * from './edge-action-dialog.component';
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/index.ts b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/index.ts
index 65cf645..0041163 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/index.ts
@@ -22,10 +22,11 @@ import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { MaterialModule } from '../material.module';
import { ProgressDialogModule, BubbleModule } from '../index';
-
import { NavbarComponent } from './navbar.component';
import { NotificationDialogModule } from '../modal-dialog/notification-dialog';
import {EdgeActionDialogModule} from '../modal-dialog/edge-action-dialog';
+import {OdahuActionDialogModule} from '../modal-dialog/odahu-action-dialog';
+
export * from './navbar.component';
@@ -38,6 +39,7 @@ export * from './navbar.component';
EdgeActionDialogModule,
ProgressDialogModule,
BubbleModule,
+ OdahuActionDialogModule
],
declarations: [NavbarComponent],
exports: [NavbarComponent, RouterModule]
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org