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

dgnatyshyn pushed a commit to branch DLAB-1749
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git


The following commit(s) were added to refs/heads/DLAB-1749 by this push:
     new 0bad8ba  [DLAB-1749] Added available lib version list dialog
     new fdd45f1  Merge remote-tracking branch 'origin/DLAB-1749' into DLAB-1749
0bad8ba is described below

commit 0bad8baf7a3ffa7b30a3978c1c7d239d51558bbd
Author: Dmytro_Gnatyshyn <di1...@ukr.net>
AuthorDate: Tue Jul 14 15:20:17 2020 +0300

    [DLAB-1749] Added available lib version list dialog
---
 .../install-libraries.component.html               | 61 ++++++++++++----------
 .../install-libraries.component.ts                 | 52 +++++++++++-------
 2 files changed, 66 insertions(+), 47 deletions(-)

diff --git 
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.html
 
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.html
index 409faeb..9f4cac9 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.html
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.html
@@ -62,10 +62,10 @@
                 [value]="query"
                 [matAutocomplete]="auto"
               >
-              <span class="add-icon" [matTooltip]="!isLibExist ? 'Current 
library dosen\'t exist' : 'You have already added or installed current library'"
-              matTooltipPosition="above"
-              [matTooltipDisabled] = "isLibExist && (isInSelectedList || 
isInstalled)"
-              >
+<!--              <span class="add-icon" [matTooltip]="(isInSelectedList || 
isInstalled) ? 'Current library dosen\'t exist' : 'You have already added or 
installed current library'"-->
+<!--              matTooltipPosition="above"-->
+<!--              [matTooltipDisabled] = "isLibExist && (isInSelectedList || 
isInstalled)"-->
+              <span class="add-icon">
                 <button  mat-icon-button class="btn" [disabled]="!isLibExist 
|| query.length < 1 ||
                 isDuplicated({name: query.slice(0, query.indexOf(':')), 
version: query.slice(query.indexOf(':') + 1) || 'N/A'})" 
(click)="addLibrary(query);$event.stopPropagation()">
                   <mat-icon matSuffix >add</mat-icon>
@@ -215,7 +215,7 @@
 <!--            <p>Cannot retry to reinstall failed libraries: Exploratory {{ 
notebook?.name }} is not running</p>-->
 <!--          </div>-->
           <ng-container *ngFor="let lib of filtredNotebookLibs">
-            <mat-list-item class="table-item" (click)="showlibinfo(lib)">
+            <mat-list-item class="table-item">
             <div class="lib-name ellipsis">
               <strong>{{ lib.name }}</strong>&nbsp;
               <span *ngIf="lib.version  && lib.version !== 'N/A'">{{ 
lib.version }}</span>
@@ -228,7 +228,7 @@
                   <div class="lib-resource-type-col">{{ item.resourceType 
}}</div>
                   <div class="lib-status-col" ngClass="{{ 
item.status.toLowerCase() || '' }}">{{ item.status }}
                     <div class="warn-action" *ngIf="item.status === 'failed' 
&& notebook?.status === 'running'">
-                      <div>
+                      <div *ngIf="!item.available_versions">
                         <span *ngIf="!installingInProgress" 
(click)="reinstallLibrary(item, lib)" matTooltip="Retry installation" 
matTooltipPosition="above">
                           <i class="material-icons">replay</i>
                         </span>
@@ -237,12 +237,19 @@
                           <i class="material-icons">replay</i>
                         </span>
                       </div>
-                      <div *ngIf="item.status === 'failed' && item.error" 
class="lib-error" (click)="showErrorMessage(item)">
+                      <div *ngIf="item.status === 'failed' && item.error && 
!item.available_versions" class="lib-error" (click)="showErrorMessage(item)">
                         <i class="material-icons">error_outline</i>
                       </div>
+                      <div class="lib-error"
+                           *ngIf="item.status === 'failed' && 
item.available_versions?.length" class="lib-error"
+                           (click)="openLibInfo(item, 
'available');$event.stopPropagation()"
+                           matTooltip="Show available version" 
matTooltipPosition="above"
+                      >
+                        <i class="material-icons terminated">error_outline</i>
+                      </div>
                     </div>
-                    <div class="warn-action" matTooltip="Show installed 
dependency" matTooltipPosition="above">
-                        <span class="info-icon" 
(click)="openLibInfo(lib);$event.stopPropagation() ">
+                    <div class="warn-action" matTooltip="Show installed 
dependency" matTooltipPosition="above" *ngIf="item.add_pkgs?.length">
+                        <span class="info-icon" (click)="openLibInfo(item, 
'added');$event.stopPropagation() ">
                           <i class="material-icons">info</i>
                         </span>
                     </div>
@@ -253,28 +260,28 @@
             </div>
           </mat-list-item>
 
-          <mat-list-item  *ngIf="isLibInfoOpened[lib.name]">
-            <div class="lib-info">
-              <ul class="libs-version">
+<!--          <mat-list-item  *ngIf="isLibInfoOpened[lib.name]">-->
+<!--            <div class="lib-info">-->
+<!--              <ul class="libs-version">-->
 
-                <li class="dependency-list-header">
-                  List of available version:
-                </li>
+<!--                <li class="dependency-list-header">-->
+<!--                  List of available version:-->
+<!--                </li>-->
 
-<!--                <div class="scrolling-content delete-list" 
id="scrolling">-->
+<!--&lt;!&ndash;                <div class="scrolling-content delete-list" 
id="scrolling">&ndash;&gt;-->
 
-                  <li *ngFor="let object of [1,2,3]" class="delete-item 
list-item">
-                    <!--                        <div class="object">-->
-                    {{lib.name+lib.version}}
-                    <!--                        </div>-->
-                    <!--                        <div 
class="size">v2.3.4</div>-->
-                    <button mat-raised-button type="button"  class="butt 
action">Install</button>
-                  </li>
+<!--                  <li *ngFor="let object of [1,2,3]" class="delete-item 
list-item">-->
+<!--                    &lt;!&ndash;                        <div 
class="object">&ndash;&gt;-->
+<!--                    {{lib.name+lib.version}}-->
+<!--                    &lt;!&ndash;                        
</div>&ndash;&gt;-->
+<!--                    &lt;!&ndash;                        <div 
class="size">v2.3.4</div>&ndash;&gt;-->
+<!--                    <button mat-raised-button type="button"  class="butt 
action">Install</button>-->
+<!--                  </li>-->
 
-<!--                </div>-->
-              </ul>
-            </div>
-          </mat-list-item>
+<!--&lt;!&ndash;                </div>&ndash;&gt;-->
+<!--              </ul>-->
+<!--            </div>-->
+<!--          </mat-list-item>-->
           </ng-container>
           <div *ngIf="!filtredNotebookLibs.length && notebookLibs?.length" 
class="scrollingList info message">
             <p>No matches found</p>
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts
 
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts
index a3af674..0976568 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts
@@ -373,14 +373,14 @@ export class InstallLibrariesComponent implements OnInit, 
OnDestroy {
     this.filterModel.resetFilterLibs();
   }
 
-  public openLibInfo(lib) {
+  public openLibInfo(lib, type) {
     this.dialog.open(
-      LibInfoDialogComponent, { data: lib, width: '550px', panelClass: 
'error-modalbox' });
+      LibInfoDialogComponent, { data: {lib, type}, width: '550px', panelClass: 
'error-modalbox' });
   }
 
-  showlibinfo(lib: any) {
-    this.isLibInfoOpened[lib.name] = !this.isLibInfoOpened[lib.name];
-  }
+  // showlibinfo(lib: any) {
+  //   this.isLibInfoOpened[lib.name] = !this.isLibInfoOpened[lib.name];
+  // }
 }
 
 @Component({
@@ -415,32 +415,44 @@ export class ErrorLibMessageDialogComponent {
   selector: 'lib-info-dialog',
   template: `
   <div class="dialog-header">
-    <h4 class="modal-title">Installed dependency</h4>
+    <h4 class="modal-title" *ngIf="data.type === 'added'">Installed 
dependency</h4>
+    <h4 class="modal-title" *ngIf="data.type === 'available'">Library 
installation error</h4>
     <button type="button" class="close" 
(click)="dialogRef.close()">&times;</button>
   </div>
-  <mat-list class="resources">
+<!--  <mat-list class="resources">-->
+
+<!--    <mat-list-item class="list-header">-->
+<!--      <div class="object">Name</div>-->
+<!--      <div class="size">Version</div>-->
+<!--    </mat-list-item>-->
 
-    <mat-list-item class="list-header">
-      <div class="object">Name</div>
-      <div class="size">Version</div>
-    </mat-list-item>
+<!--    <div class="scrolling-content delete-list" id="scrolling">-->
 
-    <div class="scrolling-content delete-list" id="scrolling">
+<!--      <mat-list-item *ngFor="let lib of data.add_pkgs" 
class="delete-item">-->
+<!--        <div class="object">-->
+<!--         {{lib}}-->
+<!--        </div>-->
+<!--        <div class="size">v2.3.4</div>-->
+<!--      </mat-list-item>-->
 
-      <mat-list-item *ngFor="let object of [1,2,3]" class="delete-item">
-        <div class="object">
-         {{data.name}}
-        </div>
-        <div class="size">v2.3.4</div>
-      </mat-list-item>
+<!--    </div>-->
+<!--  </mat-list>-->
 
-    </div>
-  </mat-list>
+  <div class="lib-list" *ngIf="data.type === 'added'">
+    <span class="strong">Dependency: </span>{{data.lib.add_pkgs.join(', ')}}
+  </div>
+  <div class="lib-list" *ngIf="data.type === 'available'">
+    <p class="terminated">Version is not available</p>
+    <span class="strong">Available versions: 
</span>{{data.lib.available_versions.join(', ')}}
+  </div>
 <!--  <div class="text-center">-->
 <!--    <button type="button" class="butt" mat-raised-button 
(click)="dialogRef.close()">Close</button>-->
 <!--  </div>-->
   `,
   styles: [    `
+    .lib-list { max-height: 200px; overflow-x: auto; word-break: break-all; 
padding: 20px 30px !important; margin: 20px 0; color: #577289;}
+    .terminated{padding-bottom: 15px;}
+
     .mat-list-base {
       padding: 40px 30px;
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org
For additional commands, e-mail: commits-h...@dlab.apache.org

Reply via email to