From 9cf9dddbb39d35ed0bcceb592bd09fcee37a6f63 Mon Sep 17 00:00:00 2001
From: Xiao Gui <xgui3783@gmail.com>
Date: Mon, 1 Apr 2019 08:37:28 +0200
Subject: [PATCH] bugfix: no dockedContainer === no minimise icon

---
 .../widgetUnit/widgetUnit.component.ts        | 21 ++++++++++++-------
 .../widgetUnit/widgetUnit.template.html       |  2 +-
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/src/atlasViewer/widgetUnit/widgetUnit.component.ts b/src/atlasViewer/widgetUnit/widgetUnit.component.ts
index 4c0392deb..ef4beb9bd 100644
--- a/src/atlasViewer/widgetUnit/widgetUnit.component.ts
+++ b/src/atlasViewer/widgetUnit/widgetUnit.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, ViewContainerRef,ComponentRef, HostBinding, HostListener, Output, EventEmitter, Input, ElementRef } from "@angular/core";
+import { Component, ViewChild, ViewContainerRef,ComponentRef, HostBinding, HostListener, Output, EventEmitter, Input, ElementRef, OnInit } from "@angular/core";
 import { WidgetServices } from "./widgetService.service";
 
 
@@ -9,7 +9,7 @@ import { WidgetServices } from "./widgetService.service";
   ]
 })
 
-export class WidgetUnit {
+export class WidgetUnit implements OnInit{
   @ViewChild('container',{read:ViewContainerRef}) container : ViewContainerRef
   @ViewChild('emptyspan',{read:ElementRef}) emtpy : ElementRef
 
@@ -22,6 +22,13 @@ export class WidgetUnit {
   @HostBinding('style.height')
   height : string = this.state === 'docked' ? null : '0px'
 
+  get transform(){
+    return this.state === 'floating' ?
+      `translate(${this.position[0]}px, ${this.position[1]}px)` :
+      `translate(0 , 0)`
+  }
+
+  public canBeDocked: boolean = false
   @HostListener('mousedown')
   clicked(){
     this.clickedEmitter.emit(this)
@@ -44,6 +51,10 @@ export class WidgetUnit {
   public cf : ComponentRef<WidgetUnit>
   public widgetServices:WidgetServices
 
+  ngOnInit(){
+    this.canBeDocked = typeof this.widgetServices.dockedContainer !== 'undefined'
+  }
+
   /**
    * @param {boolean}
    * @description when new viewer is init, if this viewer will persist
@@ -131,10 +142,4 @@ export class WidgetUnit {
     ev.dataTransfer.setDragImage(this.emtpy.nativeElement, 0, 0)
   }
 
-  get transform(){
-    return this.state === 'floating' ?
-      `translate(${this.position[0]}px, ${this.position[1]}px)` :
-      `translate(0 , 0)`
-  }
-
 }
\ No newline at end of file
diff --git a/src/atlasViewer/widgetUnit/widgetUnit.template.html b/src/atlasViewer/widgetUnit/widgetUnit.template.html
index 3155ee86b..a036a5536 100644
--- a/src/atlasViewer/widgetUnit/widgetUnit.template.html
+++ b/src/atlasViewer/widgetUnit/widgetUnit.template.html
@@ -19,7 +19,7 @@
       </div>
     </div>
     <div icons>
-      <i *ngIf = "state === 'floating'"
+      <i *ngIf = "canBeDocked && state === 'floating'"
         (click) = "dock($event)" 
         class = "fas fa-window-minimize" 
         hoverable></i>
-- 
GitLab