Skip to content
Snippets Groups Projects
Commit 424cd9e3 authored by Daviti Gogshelidze's avatar Daviti Gogshelidze
Browse files

region hierarchy and smaller corrections

parent 3124ed63
No related branches found
No related tags found
No related merge requests found
......@@ -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>
......
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{
......
<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)"
......
......@@ -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>
......
......@@ -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',
......
......@@ -38,6 +38,7 @@
class="tree-body">
<flat-tree-component
(treeNodeClick)="handleClickRegion($event)"
(uncollaspedItemsNumber)="uncollapsedFlatTreeItems($event)"
[inputItem]="aggregatedRegionTree"
[renderNode]="displayTreeNode"
[searchFilter]="filterTreeBySearch">
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment