From 424cd9e30f717369cbd7fdab38efe5a563c9b44e Mon Sep 17 00:00:00 2001 From: Daviti Gogshelidze <daviti1@mail.com> Date: Thu, 4 Jul 2019 11:07:40 +0200 Subject: [PATCH] region hierarchy and smaller corrections --- src/atlasViewer/atlasViewer.template.html | 8 +++++--- src/components/flatTree/flatTree.component.ts | 15 ++++++++++++-- .../flatTree/flatTree.template.html | 7 ++++--- .../splashScreen/splashScreen.template.html | 2 -- .../regionHierarchy.component.ts | 20 +++++++++++++------ .../regionHierarchy.template.html | 1 + 6 files changed, 37 insertions(+), 16 deletions(-) diff --git a/src/atlasViewer/atlasViewer.template.html b/src/atlasViewer/atlasViewer.template.html index 8c1054a71..f6cc260ea 100644 --- a/src/atlasViewer/atlasViewer.template.html +++ b/src/atlasViewer/atlasViewer.template.html @@ -127,10 +127,12 @@ <ui-nehuba-container (contextmenu)="nehubaClickHandler($event)"> </ui-nehuba-container> - <div *ngIf="!isMobile && selectedTemplate" bannerWrapper> - <menu-icons iconWrapper> + <div *ngIf="!isMobile" bannerWrapper> + <menu-icons iconWrapper *ngIf="selectedTemplate"> </menu-icons> - <signin-banner signinWrapper> + + <div *ngIf="!selectedTemplate"></div> + <signin-banner signinWrapper [ngStyle]="{'margin-right': !selectedTemplate? '20px': ''}"> </signin-banner> </div> diff --git a/src/components/flatTree/flatTree.component.ts b/src/components/flatTree/flatTree.component.ts index d6002b130..a7996c066 100644 --- a/src/components/flatTree/flatTree.component.ts +++ b/src/components/flatTree/flatTree.component.ts @@ -1,5 +1,6 @@ -import { EventEmitter, Component, Input, Output, ChangeDetectionStrategy } from "@angular/core"; +import {EventEmitter, Component, Input, Output, ChangeDetectionStrategy, OnChanges, ViewChild} from "@angular/core"; import { FlattenedTreeInterface } from "./flattener.pipe"; +import {CdkVirtualScrollViewport} from "@angular/cdk/scrolling"; /** * TODO to be replaced by virtual scrolling when ivy is in stable @@ -14,7 +15,7 @@ import { FlattenedTreeInterface } from "./flattener.pipe"; changeDetection:ChangeDetectionStrategy.OnPush }) -export class FlatTreeComponent{ +export class FlatTreeComponent implements OnChanges { @Input() inputItem : any = { name : 'Untitled', children : [] @@ -33,6 +34,9 @@ export class FlatTreeComponent{ @Input() findChildren : (item:any)=>any[] = (item)=>item.children ? item.children : [] @Input() searchFilter : (item:any)=>boolean | null = ()=>true + @ViewChild('flatTreeVirtualScrollViewPort') _temp: CdkVirtualScrollViewport + @Output() uncollaspedItemsNumber = new EventEmitter<number>() + public flattenedItems : any[] = [] getClass(level:number){ @@ -42,6 +46,12 @@ export class FlatTreeComponent{ collapsedLevels: Set<string> = new Set() uncollapsedLevels : Set<string> = new Set() + ngOnChanges(): void { + if (this._temp) { + setTimeout(() => {this.uncollaspedItemsNumber.emit(this._temp.getDataLength())}) + } + } + toggleCollapse(flattenedItem:FlattenedTreeInterface){ if (this.isCollapsed(flattenedItem)) { this.collapsedLevels.delete(flattenedItem.lvlId) @@ -52,6 +62,7 @@ export class FlatTreeComponent{ } this.collapsedLevels = new Set(this.collapsedLevels) this.uncollapsedLevels = new Set(this.uncollapsedLevels) + setTimeout(() => {this.uncollaspedItemsNumber.emit(this._temp.getDataLength())}) } isCollapsed(flattenedItem:FlattenedTreeInterface):boolean{ diff --git a/src/components/flatTree/flatTree.template.html b/src/components/flatTree/flatTree.template.html index 903c00ddd..48ff87a25 100644 --- a/src/components/flatTree/flatTree.template.html +++ b/src/components/flatTree/flatTree.template.html @@ -1,10 +1,11 @@ <cdk-virtual-scroll-viewport *ngIf="!useDefaultList" (wheel)="$event.stopPropagation()" - itemSize="15"> + itemSize="15" + #flatTreeVirtualScrollViewPort> <div - *cdkVirtualFor="let flattenedItem of (inputItem | flattenTreePipe : findChildren | filterRowsByVisbilityPipe : findChildren : searchFilter | appendSiblingFlagPipe | filterCollapsePipe : collapsedLevels : uncollapsedLevels : childrenExpanded )" + *cdkVirtualFor="let flattenedItem of (inputItem | flattenTreePipe : findChildren | filterRowsByVisbilityPipe : findChildren : searchFilter | appendSiblingFlagPipe | filterCollapsePipe : collapsedLevels : uncollapsedLevels : childrenExpanded )" [ngClass]="getClass(flattenedItem.flattenedTreeLevel)" class="text-nowrap" [attr.flattenedtreelevel]="flattenedItem.flattenedTreeLevel" @@ -37,7 +38,7 @@ *ngIf="useDefaultList" class="overflow-auto"> - <div class="overflow-hidden default-container" style="background-color: #dbb556"> + <div class="overflow-hidden default-container"> <div *ngFor="let flattenedItem of (inputItem | flattenTreePipe : findChildren | filterRowsByVisbilityPipe : findChildren : searchFilter | appendSiblingFlagPipe )" [ngClass]="getClass(flattenedItem.flattenedTreeLevel)" diff --git a/src/ui/nehubaContainer/splashScreen/splashScreen.template.html b/src/ui/nehubaContainer/splashScreen/splashScreen.template.html index fb2c7049f..76f0b92f4 100644 --- a/src/ui/nehubaContainer/splashScreen/splashScreen.template.html +++ b/src/ui/nehubaContainer/splashScreen/splashScreen.template.html @@ -3,8 +3,6 @@ <div class="splashScreenHeaderLogoContainer"><img class="splashScreenHeaderLogo " src="./res/image/HBP_Primary_RGB_BlackText.png"> </div> <div class="spaceForFill"> </div> - <signin-banner > - </signin-banner> </div> <div splashScreenTemplate> diff --git a/src/ui/regionHierachy/regionHierarchy.component.ts b/src/ui/regionHierachy/regionHierarchy.component.ts index 9e629abce..f9a8c1155 100644 --- a/src/ui/regionHierachy/regionHierarchy.component.ts +++ b/src/ui/regionHierachy/regionHierarchy.component.ts @@ -3,7 +3,6 @@ import { Subscription, Subject, fromEvent } from "rxjs"; import { buffer, debounceTime } from "rxjs/operators"; import { FilterNameBySearch } from "./filterNameBySearch.pipe"; import { generateLabelIndexId } from "src/services/stateStore.service"; -import {promise} from "selenium-webdriver"; const insertHighlight :(name:string, searchTerm:string) => string = (name:string, searchTerm:string = '') => { const regex = new RegExp(searchTerm, 'gi') @@ -111,11 +110,6 @@ export class RegionHierarchy implements OnInit, AfterViewInit{ set showRegionTree(flag: boolean){ this._showRegionTree = flag this.showRegionFlagChanged.emit(this._showRegionTree) - this.countItemsIntoTheTree = 1 - if (this.aggregatedRegionTree.children && - this.aggregatedRegionTree.children.length > 0) { - this.countItems(this.aggregatedRegionTree) - } } ngOnInit(){ @@ -155,6 +149,15 @@ export class RegionHierarchy implements OnInit, AfterViewInit{ this.changeSearchTerm(ev) }) ) + + setTimeout(() => { + this.countItemsIntoTheTree = 1 + if (this.aggregatedRegionTree.children && + this.aggregatedRegionTree.children.length > 0) { + this.countItems(this.aggregatedRegionTree) + } + }) + } getInputPlaceholder(parcellation:any) { @@ -177,6 +180,11 @@ export class RegionHierarchy implements OnInit, AfterViewInit{ if (object.children && object.children.length > 0) this.countItems(object) }) } + + uncollapsedFlatTreeItems(event) { + this.countItemsIntoTheTree = event + } + regionHierarchyHeight(){ return({ 'height' : (this.countItemsIntoTheTree * 15 + 60).toString() + 'px', diff --git a/src/ui/regionHierachy/regionHierarchy.template.html b/src/ui/regionHierachy/regionHierarchy.template.html index b49e04768..bb3c6d299 100644 --- a/src/ui/regionHierachy/regionHierarchy.template.html +++ b/src/ui/regionHierachy/regionHierarchy.template.html @@ -38,6 +38,7 @@ class="tree-body"> <flat-tree-component (treeNodeClick)="handleClickRegion($event)" + (uncollaspedItemsNumber)="uncollapsedFlatTreeItems($event)" [inputItem]="aggregatedRegionTree" [renderNode]="displayTreeNode" [searchFilter]="filterTreeBySearch"> -- GitLab