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 2020/11/20 15:32:05 UTC
[incubator-datalab] 03/05: [DATALAB-2160]: Fixed disabled gear icon
if Notebook contains Data Engine
This is an automated email from the ASF dual-hosted git repository.
dgnatyshyn pushed a commit to branch DATALAB-2160
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git
commit 0d850dac898941364c1e19362c9e1386fdf6024d
Author: Dmytro_Gnatyshyn <di...@ukr.net>
AuthorDate: Fri Nov 20 17:29:08 2020 +0200
[DATALAB-2160]: Fixed disabled gear icon if Notebook contains Data Engine
---
.../management-grid/management-grid.component.html | 4 +-
.../management-grid/management-grid.component.ts | 50 ++++++++++++++++------
2 files changed, 40 insertions(+), 14 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 649713d..523cd59 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
@@ -306,7 +306,7 @@
<ng-container matColumnDef="scrollButtons">
<td mat-footer-cell *matFooterCellDef colspan="9" class="buttons-wrap">
- <div class="buttons" [ngStyle]="{'width.px': wrapper.offsetWidth}" [hidden]="!tableEl['offsetWidth']">
+ <div class="buttons" [ngStyle]="{'width.px': tableWrapperWidth }" [hidden]="!tableWrapperWidth">
<div class="button-container">
<button mat-mini-fab aria-label="Scroll left"
(click)="sctollTo('left')"
@@ -335,7 +335,7 @@
<tr [hidden]="allFilteredEnvironmentData?.length" mat-footer-row *matFooterRowDef="['placeholder']" class="info"></tr>
- <tr [hidden]="!tableEl['offsetWidth'] || tableWrapper.offsetWidth - tableEl['offsetWidth'] > -1 || !allFilteredEnvironmentData?.length" mat-footer-row *matFooterRowDef="['scrollButtons']; sticky: true" class="info"></tr>
+ <tr [hidden]="!tableEl || !tableEl['offsetWidth'] || tableWrapper.offsetWidth - tableEl['offsetWidth'] > -16 || !allFilteredEnvironmentData?.length" mat-footer-row *matFooterRowDef="['scrollButtons']; sticky: true" class="info"></tr>
</table>
</div>
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 679c9e9..55dbd96 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
@@ -17,19 +17,30 @@
* under the License.
*/
-import {Component, OnInit, ViewChild, Input, Output, EventEmitter, Inject, HostListener} from '@angular/core';
+import {
+ Component,
+ OnInit,
+ ViewChild,
+ Input,
+ Output,
+ EventEmitter,
+ Inject,
+ HostListener,
+ AfterViewInit,
+ AfterViewChecked,
+ ApplicationRef
+} from '@angular/core';
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { ToastrService } from 'ngx-toastr';
import { HealthStatusService } from '../../../core/services';
import { SortUtils } from '../../../core/util';
-import { ConfirmationDialogType } from '../../../shared';
-import { ConfirmationDialogComponent } from '../../../shared/modal-dialog/confirmation-dialog';
import { EnvironmentsDataService } from '../management-data.service';
import { EnvironmentModel, ManagementConfigModel } from '../management.model';
import {ProgressBarService} from '../../../core/services/progress-bar.service';
import {DetailDialogComponent} from '../../../resources/exploratory/detail-dialog';
import {BehaviorSubject, Subject, timer} from 'rxjs';
+import { ChangeDetectorRef } from '@angular/core';
export interface ManageAction {
action: string;
@@ -46,7 +57,7 @@ export interface ManageAction {
'../../../resources/computational/computational-resources-list/computational-resources-list.component.scss'
]
})
-export class ManagementGridComponent implements OnInit {
+export class ManagementGridComponent implements OnInit, AfterViewInit, AfterViewChecked {
allEnvironmentData: Array<any>;
allFilteredEnvironmentData: Array<any>;
loading: boolean = false;
@@ -69,10 +80,11 @@ export class ManagementGridComponent implements OnInit {
@ViewChild('wrapper') wrapper;
@ViewChild('pageWrapper') pageWrapper;
@ViewChild('table') table;
+ private tableWrapperWidth: number;
@HostListener('window:resize', ['$event'])
onResize(event) {
- this.isScrollButtonsVisible = this.tableWrapper.nativeElement.offsetWidth - this.table._elementRef.nativeElement.offsetWidth < 0;
+ this.isScrollButtonsVisible = this.tableWrapper.nativeElement.offsetWidth - this.table._elementRef.nativeElement.offsetWidth < -5;
this.checkMaxRight();
}
@@ -96,16 +108,30 @@ export class ManagementGridComponent implements OnInit {
public toastr: ToastrService,
public dialog: MatDialog,
private progressBarService: ProgressBarService,
+ private cdRef: ChangeDetectorRef,
+ private applicationRef: ApplicationRef,
) { }
ngOnInit() {
- this.getEnvironmentData();
- timer(1000)
- .subscribe(() => {
- this.isScrollButtonsVisible = this.tableWrapper.nativeElement.offsetWidth - this.table._elementRef.nativeElement.offsetWidth < 0;
- this.checkMaxRight();
- this.tableEl = this.table._elementRef.nativeElement;
- });
+ this.getEnvironmentData();
+ }
+
+
+ ngAfterViewInit() {
+ this.tableEl = this.table._elementRef.nativeElement;
+ this.isScrollButtonsVisible = this.tableWrapper.nativeElement.offsetWidth - this.table._elementRef.nativeElement.offsetWidth < -5;
+ console.log(this.tableWrapper.nativeElement.offsetWidth, this.table._elementRef.nativeElement.offsetWidth);
+ this.checkMaxRight();
+ }
+
+ ngAfterViewChecked() {
+ if (this.tableWrapperWidth !== this.wrapper.nativeElement.offsetWidth) {
+ this.tableWrapperWidth = this.wrapper.nativeElement.offsetWidth;
+ timer(100).subscribe(_ => {
+ this.applicationRef.tick();
+ });
+ }
+ this.cdRef.detectChanges();
}
getEnvironmentData() {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org