This is an automated email from the ASF dual-hosted git repository. ankovalyshyn pushed a commit to branch feature/projects in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 94851312f2308f0182f0f7e08e83babbfe70b370 Author: Andriana Kovalyshyn <andriana_kovalys...@epam.com> AuthorDate: Wed Jun 5 14:02:17 2019 +0300 [DLAB-747]: cleanup status and keys check from resources list --- .../management-grid/management-grid.component.html | 138 --------------------- .../create-environment.component.html} | 0 .../create-environment.component.scss | 0 .../create-environment.component.ts} | 4 +- .../index.ts | 6 +- .../src/app/resources/resources.component.html | 12 +- .../src/app/resources/resources.component.ts | 57 ++------- .../webapp/src/app/resources/resources.module.ts | 2 +- .../resources/webapp/src/assets/styles/_theme.scss | 2 +- 9 files changed, 23 insertions(+), 198 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 bd6efa4..5d68686 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 @@ -17,144 +17,6 @@ ~ under the License. --> -<!-- <table class="dashboard_table" *ngIf="isAdmin; else users"> - <tr> - <th class="th_user">User</th> - <th class="th_name">Name</th> - <th class="th_status">Status</th> - <th class="th_shape">Shape / Resource id</th> - <th class="th_resources">Computational resources</th> - <th class="th_actions">Action</th> - </tr> - - <tr *ngFor="let env of allEnvironmentData" class="dashboard_table_body"> - <td>{{ env.user }}</td> - <td [ngClass]="{'capitalize': env.name === 'edge node'}">{{ env.name }}</td> - <td class="status" ngClass="{{env.status || ''}}">{{env.status}}</td> - <td>{{ env.shape || env.ip }}</td> - <td> - <div class="source" *ngIf="env.resources"> - <div *ngIf="!env.resources?.length"> - <span *ngIf="!env.resources.length" class="no-details">no details</span> - </div> - <div *ngIf="env.resources?.length"> - <div *ngFor="let resource of env.resources" class="resource-wrap"> - <div class="resource-name"> - <a class="detailed-link"> - {{ resource.computational_name }} - </a> - </div> - <span ngClass="{{resource.status || ''}}" class="resource-status">{{ resource.status }}</span> - <div class="resource-actions"> - <a class="start-stop-action" *ngIf="resource.image === 'docker.dlab-dataengine'"> - <i class="material-icons" (click)="toggleResourceAction(env, 'stop', resource)" - [ngClass]="{'not-allowed' : resource.status !== 'running' || env.user.toLowerCase() === currentUser && healthStatus !== 'ok' }">pause_circle_outline</i> - </a> - - <a class="remove_butt" (click)="toggleResourceAction(env, 'terminate', resource)" - [ngClass]="{ 'disabled' : env.status !== 'running' || resource.status !== 'running' - && resource.status !== 'stopped' || env.user.toLowerCase() === currentUser && healthStatus !== 'ok' }"> - <i class="material-icons">highlight_off</i> - </a> - </div> - </div> - </div> - </div> - </td> - <td class="settings"> - <span #settings class="actions" (click)="actions.toggle($event, settings)" [ngClass]="{ 'disabled' - : (!uploadKey && env.type === 'notebook' && env.user.toLowerCase() === currentUser) - || (env.status !== 'running' && env.status !== 'stopped' && env.status !== 'stopping' && env.status !== 'failed' ) - || (env.type === 'edge node' && env.user.toLowerCase() === currentUser && env.status === 'stopping') - || env.type === 'edge node' && env.user.toLowerCase() !== currentUser && env.status !== 'running' - || env.user.toLowerCase() === currentUser && healthStatus !== 'ok' && env.type !== 'edge node' }"></span> - <bubble-up #actions class="list-menu" position="bottom-left" alternative="top-left"> - <ul class="list-unstyled"> - <li - matTooltip="{{ env.type !== 'edge node' ? 'Unable to stop notebook because at least one computational resource is in progress' : 'Unable to stop edge node because at least one resource of this user is in progress' }}" - matTooltipPosition="above" [matTooltipDisabled]="!isResourcesInProgress(env)" - [hidden]="env.name === 'edge node' && env.status === 'stopped'"> - <div (click)="toggleResourceAction(env, 'stop')" - [ngClass]="{'not-allowed' : env.status === 'stopped' || env.status === 'stopping' || env.status === 'starting' || env.status === 'creating image' || env.status === 'failed' || isResourcesInProgress(env)}"> - <i class="material-icons">pause_circle_outline</i> - <span>Stop</span> - </div> - </li> - <li *ngIf="env.name !== 'edge node'" - matTooltip="Unable to terminate notebook because at least one computational resource is in progress" - matTooltipPosition="above" [matTooltipDisabled]="!isResourcesInProgress(env)"> - <div (click)="toggleResourceAction(env, 'terminate')" - [ngClass]="{'not-allowed' : env.status !== 'running' && env.status !== 'stopped' || isResourcesInProgress(env)}"> - <i class="material-icons">phonelink_off</i> - <span>Terminate</span> - </div> - </li> - - <div *ngIf="env.name === 'edge node' && env.user.toLowerCase() === currentUser"> - <li (click)="toggleResourceAction(env, 'run')" *ngIf="env.status === 'stopped'"> - <i class="material-icons">play_circle_outline</i> - <span>Start</span> - </li> - <li (click)="toggleResourceAction(env, 'recreate')" *ngIf="env.status === 'terminated'"> - <i class="material-icons">refresh</i> - <span>Recreate</span> - </li> - <li *ngIf="!isResourcesInProgress(env)" (click)="showReuploaKeydDialog()"> - <i class="material-icons">sync_problem</i> - <span>Reupload key</span> - </li> - </div> - </ul> - </bubble-up> - </td> - </tr> -</table> - -<ng-template #users> - <table class="dashboard_table"> - <tr> - <th class="th_name">Type</th> - <th>Resource id</th> - <th class="th_status">Status</th> - <th class="th_actions">Action</th> - </tr> - <tr *ngFor="let env of environmentsHealthStatuses" class="dashboard_table_body"> - <td>{{env.type}}</td> - <td>{{env.resource_id}}</td> - <td class="status" ngClass="{{env.status || ''}}">{{env.status}}</td> - <td class="settings"> - <span #settings (click)="actions.toggle($event, settings)" class="actions" [ngClass]="{'disabled': env.status !== 'running' - && env.status !== 'stopped' - && env.status !== 'terminated' - || notebookInProgress - || !uploadKey && env.status !== 'failed' }"> - </span> - - <bubble-up #actions class="list-menu" position="bottom-left" alternative="top-left"> - <ul class="list-unstyled"> - <li (click)="toggleResourceAction(env, 'stop')" *ngIf="env.status === 'running'"> - <i class="material-icons">pause_circle_outline</i> - <span>Stop</span> - </li> - <li (click)="toggleResourceAction(env, 'run')" *ngIf="env.status === 'stopped'"> - <i class="material-icons">play_circle_outline</i> - <span>Start</span> - </li> - <li (click)="toggleResourceAction(env, 'recreate')" *ngIf="env.status === 'terminated'"> - <i class="material-icons">refresh</i> - <span>Recreate</span> - </li> - <li *ngIf="!anyEnvInProgress" (click)="showReuploaKeydDialog()"> - <i class="material-icons">sync_problem</i> - <span>Reupload key</span> - </li> - </ul> - </bubble-up> - </td> - </tr> - </table> -</ng-template> --> - <div class="ani"> <table mat-table [dataSource]="allEnvironmentData" class="data-grid mat-elevation-z6"> <ng-container matColumnDef="user"> diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/exploratory-environment-create-dialog/exploratory-environment-create-dialog.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.html similarity index 100% rename from services/self-service/src/main/resources/webapp/src/app/resources/exploratory/exploratory-environment-create-dialog/exploratory-environment-create-dialog.component.html rename to services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.html diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/exploratory-environment-create-dialog/create-environment.component.scss b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.scss similarity index 100% rename from services/self-service/src/main/resources/webapp/src/app/resources/exploratory/exploratory-environment-create-dialog/create-environment.component.scss rename to services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.scss diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/exploratory-environment-create-dialog/exploratory-environment-create-dialog.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.ts similarity index 97% rename from services/self-service/src/main/resources/webapp/src/app/resources/exploratory/exploratory-environment-create-dialog/exploratory-environment-create-dialog.component.ts rename to services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.ts index 2b2f40b..e17dac4 100644 --- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/exploratory-environment-create-dialog/exploratory-environment-create-dialog.component.ts +++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.ts @@ -29,8 +29,8 @@ import { DICTIONARY } from '../../../../dictionary/global.dictionary'; import { CLUSTER_CONFIGURATION } from '../../computational/computational-resource-create-dialog/cluster-configuration-templates'; @Component({ - selector: 'exploratory-environment-create-dialog', - templateUrl: 'exploratory-environment-create-dialog.component.html', + selector: 'create-environment', + templateUrl: 'create-environment.component.html', styleUrls: ['./create-environment.component.scss'] }) diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/exploratory-environment-create-dialog/index.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/index.ts similarity index 87% rename from services/self-service/src/main/resources/webapp/src/app/resources/exploratory/exploratory-environment-create-dialog/index.ts rename to services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/index.ts index 91e1ee4..9175d9c 100644 --- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/exploratory-environment-create-dialog/index.ts +++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/index.ts @@ -23,8 +23,10 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MaterialModule } from '../../../shared/material.module'; import { FormControlsModule } from '../../../shared/form-controls'; -import { ExploratoryEnvironmentCreateComponent } from './exploratory-environment-create-dialog.component'; -import { KeysPipeModule, UnderscorelessPipeModule } from './../../../core/pipes'; +import { ExploratoryEnvironmentCreateComponent } from './create-environment.component'; +import { KeysPipeModule, UnderscorelessPipeModule } from '../../../core/pipes'; + +export * from './create-environment.component'; @NgModule({ imports: [ diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.html index dbaea83..be44a59 100644 --- a/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.html +++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.html @@ -19,7 +19,7 @@ <div class="sub-nav base-retreat"> <div> - <button mat-raised-button class="butt butt-create" [disabled]="userUploadAccessKeyState == 202 || healthStatus?.status === 'error'" (click)="createNotebook_btnClick()"> + <button mat-raised-button class="butt butt-create" (click)="createEnvironment()"> <i class="material-icons">add</i>Create new </button> </div> @@ -41,12 +41,4 @@ </div> </div> -<div *ngIf="userUploadAccessKeyState == 500" class="warning-alert base-retreat"> - <span class="material-icons">priority_high</span> - Error happened during user access key upload. Please try to reupload the key. -</div> - -<resources-grid></resources-grid> - -<!-- <exploratory-environment-create-dialog #createAnalyticalModal (buildGrid)="refreshGrid()"></exploratory-environment-create-dialog> --> -<!-- <dlab-manage-ungit #manageUngitDialog></dlab-manage-ungit> --> +<resources-grid></resources-grid> \ No newline at end of file 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 fd44bcf..f6725cf 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,10 @@ import { ToastrService } from 'ngx-toastr'; import { MatDialog } from '@angular/material'; import { ResourcesGridComponent } from './resources-grid/resources-grid.component'; -import { ExploratoryEnvironmentCreateComponent } from './exploratory/exploratory-environment-create-dialog/exploratory-environment-create-dialog.component'; +import { ExploratoryEnvironmentCreateComponent } from './exploratory/create-environment'; import { ResourcesGridRowModel } from './resources-grid/resources-grid.model'; -import { UserAccessKeyService, HealthStatusService } from '../core/services'; +import { HealthStatusService } from '../core/services'; import { ManageUngitComponent } from './manage-ungit/manage-ungit.component'; -import { HTTP_STATUS_CODES, FileUtils } from '../core/util'; @Component({ selector: 'dlab-resources', @@ -35,52 +34,25 @@ import { HTTP_STATUS_CODES, FileUtils } from '../core/util'; styleUrls: ['./resources.component.scss'] }) -export class ResourcesComponent implements OnInit, OnDestroy { - - public userUploadAccessKeyState: number; +export class ResourcesComponent implements OnInit { public exploratoryEnvironments: Array<ResourcesGridRowModel> = []; public healthStatus: any; - @ViewChild('createAnalyticalModal') createAnalyticalModal; - // @ViewChild('manageUngitDialog') manageUngitDialog; @ViewChild(ResourcesGridComponent) resourcesGrid: ResourcesGridComponent; - subscriptions: Subscription = new Subscription(); - constructor( public toastr: ToastrService, - private userAccessKeyService: UserAccessKeyService, private healthStatusService: HealthStatusService, private dialog: MatDialog - ) { - this.userUploadAccessKeyState = HTTP_STATUS_CODES.NOT_FOUND; - } + ) { } ngOnInit() { this.getEnvironmentHealthStatus(); - // this.createAnalyticalModal.resourceGrid = this.resourcesGrid; - - this.subscriptions.add(this.userAccessKeyService.accessKeyEmitter.subscribe(response => { - if (response) this.userUploadAccessKeyState = response.status; - })); - this.subscriptions.add(this.userAccessKeyService.keyUploadProccessEmitter.subscribe(response => { - if (response) this.refreshGrid(); - })); } - ngOnDestroy() { - this.subscriptions.unsubscribe(); - } - - public createNotebook_btnClick(): void { - if (this.userUploadAccessKeyState === HTTP_STATUS_CODES.OK) { - // if (!this.createAnalyticalModal.isOpened) this.createAnalyticalModal.open({ isFooter: false }); - - this.dialog.open(ExploratoryEnvironmentCreateComponent, { data: this.resourcesGrid, panelClass: 'modal-lg' }) - .afterClosed().subscribe(() => this.refreshGrid()); - } else { - this.userAccessKeyService.initialUserAccessKeyCheck(); - } + public createEnvironment(): void { + this.dialog.open(ExploratoryEnvironmentCreateComponent, { data: this.resourcesGrid, panelClass: 'modal-lg' }) + .afterClosed().subscribe(() => this.refreshGrid()); } public refreshGrid(): void { @@ -98,19 +70,16 @@ export class ResourcesComponent implements OnInit, OnDestroy { } public manageUngit(): void { - // if (!this.manageUngitDialog.isOpened) - // this.manageUngitDialog.open({ isFooter: false }); - this.dialog.open(ManageUngitComponent, {panelClass: 'modal-xxl'}) - .afterClosed().subscribe(() => this.refreshGrid()); + this.dialog.open(ManageUngitComponent, { panelClass: 'modal-xxl' }) + .afterClosed().subscribe(() => this.refreshGrid()); } private getEnvironmentHealthStatus() { this.healthStatusService.getEnvironmentHealthStatus().subscribe( - (result: any) => { - this.healthStatus = result; - this.resourcesGrid.healthStatus = this.healthStatus; - this.userAccessKeyService.initialUserAccessKeyCheck(); - }, + (result: any) => { + this.healthStatus = result; + this.resourcesGrid.healthStatus = this.healthStatus; + }, error => this.toastr.error(error.message, 'Oops!')); } } diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources.module.ts b/services/self-service/src/main/resources/webapp/src/app/resources/resources.module.ts index 4c5f96b..9f3e25d 100644 --- a/services/self-service/src/main/resources/webapp/src/app/resources/resources.module.ts +++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources.module.ts @@ -24,7 +24,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MaterialModule } from '../shared/material.module'; import { ResourcesComponent } from './resources.component'; import { ResourcesGridModule } from './resources-grid'; -import { ExploratoryEnvironmentCreateModule } from './exploratory/exploratory-environment-create-dialog'; +import { ExploratoryEnvironmentCreateModule } from './exploratory/create-environment'; import { ManageUngitComponent } from './manage-ungit/manage-ungit.component'; import { ConfirmDeleteAccountDialog } from './manage-ungit/manage-ungit.component'; diff --git a/services/self-service/src/main/resources/webapp/src/assets/styles/_theme.scss b/services/self-service/src/main/resources/webapp/src/assets/styles/_theme.scss index bd29aea..301f6ae 100644 --- a/services/self-service/src/main/resources/webapp/src/assets/styles/_theme.scss +++ b/services/self-service/src/main/resources/webapp/src/assets/styles/_theme.scss @@ -499,7 +499,7 @@ mat-horizontal-stepper { } .mat-cell { word-break: break-all; - vertical-align: initial; + vertical-align: top; padding: 10px 5px; } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org