This is an automated email from the ASF dual-hosted git repository.

hshpak pushed a commit to branch 
feat/DATALAB-2881/filter-function-to-Images-page
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git

commit e7648ebe50c1a59cd526fd94048c145404237068
Merge: 9d7b94023 4c1fb7aa4
Author: Hennadii Shpak <[email protected]>
AuthorDate: Wed Jul 27 12:17:51 2022 +0300

    Merge pull request #1618 from apache/fix/DATALAB-2939/frontend_side
    
    fixed select of images template

 .../create-environment.component.html              |  2 +-
 .../create-environment.component.ts                |  2 +-
 .../src/app/resources/images/images.component.html | 12 +++++------
 .../src/app/resources/images/images.component.ts   | 23 +++++++++++++++-------
 .../src/app/resources/images/images.config.ts      | 16 +++++++++++++++
 .../src/app/resources/images/images.model.ts       |  2 +-
 6 files changed, 41 insertions(+), 16 deletions(-)

diff --cc 
services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.html
index b594c8574,b594c8574..f93c78d1f
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.html
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.html
@@@ -25,7 -25,7 +25,7 @@@
               [ngClass]="{'disabled-select': !isProjectsMoreThanOne}"
          >
            <mat-form-field>
--            <mat-label>{{placeholder}}</mat-label>
++            <mat-label>{{placeholder.projectSelect}}</mat-label>
  
              <mat-select
                disableOptionCentering
@@@ -234,22 -234,22 +234,22 @@@
          </div>
          <bubble-up #actions class="list-menu" position="bottom-left" 
alternative="top-left">
            <ul class="list-unstyled">
--            <li [matTooltip]="element.status !== 'ACTIVE' && 'The image 
cannot be shared because it is not in the &quot;Created&quot; status'
--                  || userName !== element.user && 'Images may be shared by 
creators only'"
++            <li [matTooltip]="element.status !== imageStatus.active && 
tooltipStatuses.activeOnly
++                  || userName !== element.user && tooltipStatuses.creatorOnly"
                  matTooltipPosition="above"
--                [matTooltipDisabled]="userName === element.user && 
element.status === 'ACTIVE'"
++                [matTooltipDisabled]="userName === element.user && 
element.status === imageStatus.active"
              >
                <button
                  class="action-button__share"
                  (click)="onShare(element)"
--                [disabled]="userName !== element.user || element.status !== 
'ACTIVE'"
++                [disabled]="userName !== element.user || element.status !== 
imageStatus.active"
                >
                  <i class="material-icons">screen_share</i>
                  <span>Share</span>
                </button>
              </li>
              <li
--              matTooltip="Unable to terminate notebook because at least one 
compute is in progress"
++              [matTooltip]=tooltipStatuses.unableTerminate
                matTooltipPosition="above"
              >
                <button class="action-button__share">
diff --cc 
services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.ts
index 47fb5b64e,47fb5b64e..cb581f502
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.ts
@@@ -24,10 -24,10 +24,17 @@@ import { ToastrService } from 'ngx-toas
  import { GeneralEnvironmentStatus } from 
'../../administration/management/management.model';
  import { HealthStatusService, UserImagesPageService } from 
'../../core/services';
  import { ImageModel, ProjectModel } from './images.model';
--import { Image_Table_Column_Headers, Image_Table_Titles, Localstorage_Key, 
Shared_Status, Toaster_Message } from './images.config';
++import {
++  TooltipStatuses,
++  Image_Table_Column_Headers,
++  Image_Table_Titles,
++  ImageStatuses,
++  Localstorage_Key,
++  Placeholders,
++  Shared_Status,
++} from './images.config';
  import { MatDialog } from '@angular/material/dialog';
  import { ShareImageDialogComponent } from 
'../exploratory/share-image/share-image-dialog.component';
--import { Observable } from 'rxjs';
  import { ImagesService } from './images.service';
  import { ProgressBarService } from '../../core/services/progress-bar.service';
  import { ImageDetailDialogComponent } from 
'../exploratory/image-detail-dialog/image-detail-dialog.component';
@@@ -43,19 -43,19 +50,21 @@@
  })
  
  export class ImagesComponent implements OnInit {
++  readonly tableHeaderCellTitles: typeof Image_Table_Column_Headers = 
Image_Table_Column_Headers;
++  readonly displayedColumns: typeof Image_Table_Titles = Image_Table_Titles;
++  readonly placeholder: typeof Placeholders = Placeholders;
++  readonly sharedStatus: typeof Shared_Status = Shared_Status;
++  readonly imageStatus: typeof ImageStatuses = ImageStatuses;
++  readonly tooltipStatuses: typeof TooltipStatuses = TooltipStatuses;
++
    isActionsOpen: boolean = false;
    healthStatus: GeneralEnvironmentStatus;
--  tableHeaderCellTitles: typeof Image_Table_Column_Headers = 
Image_Table_Column_Headers;
--  displayedColumns: typeof Image_Table_Titles = Image_Table_Titles;
    dataSource: ImageModel[] = [];
    checkboxSelected: boolean = false;
    projectList: string[] = [];
    activeProjectName: string = '';
    userName!: string;
  
--  readonly placeholder: string = 'Select project';
--  readonly sharedStatus: typeof Shared_Status = Shared_Status;
--
    private cashedImageListData: ProjectModel[] = [];
  
    constructor(
diff --cc 
services/self-service/src/main/resources/webapp/src/app/resources/images/images.config.ts
index 12130fed9,12130fed9..9628420e7
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.config.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.config.ts
@@@ -52,3 -52,3 +52,19 @@@ export enum Localstorage_Key 
  export enum Toaster_Message {
    successShare = 'The image has been shared with all current Regular Users on 
the project!'
  }
++
++export enum Placeholders {
++  projectSelect = 'Select project'
++}
++
++export enum ImageStatuses {
++  creating = 'CREATING',
++  active = 'ACTIVE',
++  failed = 'FAILED'
++}
++
++export enum TooltipStatuses {
++  activeOnly = 'The image cannot be shared because it is not in the "Active" 
status',
++  creatorOnly = 'Images may be shared by creators only',
++  unableTerminate = 'Unable to terminate notebook because at least one 
compute is in progress'
++}
diff --cc 
services/self-service/src/main/resources/webapp/src/app/resources/images/images.model.ts
index 6d5c8bafd,6d5c8bafd..ab63a8842
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.model.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.model.ts
@@@ -14,7 -14,7 +14,7 @@@ export interface ImageModel 
    name: string;
    project: string;
    shared: boolean;
--  status: 'created' | 'creating' | 'terminated' | 'terminating' | 'failed';
++  status: 'active' | 'creating' | 'terminated' | 'terminating' | 'failed';
    user: string;
    isSelected?: boolean;
    libraries: Library[];


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to