From 1039fc10791b6ca29edab84eeec8a6c1c27f7049 Mon Sep 17 00:00:00 2001 From: "Hartung, Michael" <michael.hartung@uni-hamburg.de> Date: Fri, 8 Jul 2022 13:19:21 +0200 Subject: [PATCH] network fullscreen mode --- src/app/app.module.ts | 5 ++-- .../components/network/network.component.html | 24 ++++++++++++++++++- .../components/network/network.component.scss | 8 +++++++ .../components/network/network.component.ts | 5 ++++ 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index ca8e0deb..d643abf3 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -34,7 +34,7 @@ import { faRulerVertical, faDna, faMicroscope, faBook, faPause, faTrash, faSpinner, faExclamationTriangle, faPlus, faExpand, faInfo, faRocket, faAngleDown, faSearch, faFastForward, faExternalLinkAlt, faTasks, faFilter, faMinus, faUpload, faAngleDoubleDown, faSync, faBroom, faAngleDoubleUp, faChild, faHeadSideMask, faBiohazard, - faBullseye, faSeedling, faSyncAlt + faBullseye, faSeedling, faSyncAlt, faCompress } from '@fortawesome/free-solid-svg-icons'; import { TooltipModule } from 'primeng/tooltip'; import { NetworkMenuComponent } from './components/network/network-menu/network-menu.component'; @@ -97,7 +97,8 @@ export class AppModule { faCheck, faCamera, faDownload, faRulerVertical, faDna, faMicroscope, faBook, faPause, faTrash, faSpinner, faExclamationTriangle, faPlus, faExpand, faInfo, faRocket, faAngleDown, faSearch, faFastForward, faExternalLinkAlt, faTasks, faFilter, faMinus, faUpload, faAngleDoubleDown, - faSync, faBroom, faAngleDoubleUp, faChild, faHeadSideMask, faBiohazard, faBullseye, faSeedling, faSyncAlt); + faSync, faBroom, faAngleDoubleUp, faChild, faHeadSideMask, faBiohazard, faBullseye, faSeedling, + faSyncAlt, faExpand, faCompress); const NetworkExpander = createCustomElement(ExplorerPageComponent, { injector }); // Register the custom element with the browser. customElements.define('drugst-one', NetworkExpander); diff --git a/src/app/components/network/network.component.html b/src/app/components/network/network.component.html index d2ac6fec..b8719e7a 100644 --- a/src/app/components/network/network.component.html +++ b/src/app/components/network/network.component.html @@ -1,8 +1,30 @@ -<div class="card network"> +<div class="card network" [ngClass]="{'fullscreen': fullscreen}"> <header class="card-header network-header" *ngIf="networkType === 'explorer'"> <p class="card-header-title"> {{ drugstoneConfig.config.title }} </p> + <span class="mr-1 is-pulled-right columns is-flex is-vcentered"> + <button + title="open in fullscreen" + *ngIf="!fullscreen" + (click)="toggleFullscreen()" + class="button is-primary is-outlined is-rounded is-small" + > + <span class="icon is-small"> + <i class="fas fa-expand"></i> + </span> + </button> + <button + title="close fullscreen" + *ngIf="fullscreen" + (click)="toggleFullscreen()" + class="button is-primary is-outlined is-rounded is-small" + > + <span class="icon is-small"> + <i class="fas fa-compress"></i> + </span> + </button> + </span> </header> <div class="card-content network-view-settings" diff --git a/src/app/components/network/network.component.scss b/src/app/components/network/network.component.scss index e7d0a467..d7be5307 100644 --- a/src/app/components/network/network.component.scss +++ b/src/app/components/network/network.component.scss @@ -13,3 +13,11 @@ .dropdown-menu{ z-index: $network-tissue-options-z !important; } + +.fullscreen{ + position: fixed !important; + height: 100vh !important; + width: 100vw !important; + top: 0 !important; + left: 0 !important; +} diff --git a/src/app/components/network/network.component.ts b/src/app/components/network/network.component.ts index 21760f0e..529f5fcc 100644 --- a/src/app/components/network/network.component.ts +++ b/src/app/components/network/network.component.ts @@ -77,6 +77,7 @@ export class NetworkComponent implements OnInit { public expressionMap: NodeAttributeMap = {}; public gradientMap: NodeAttributeMap = {}; + public fullscreen = false; constructor(public networkHandler: NetworkHandlerService, public analysis: AnalysisService, public drugstoneConfig: DrugstoneConfigService, public netex: NetexControllerService, public omnipath: OmnipathControllerService) { } @@ -404,4 +405,8 @@ export class NetworkComponent implements OnInit { this.setLegendContext(); } + public toggleFullscreen() { + this.fullscreen = !this.fullscreen; + } + } -- GitLab