diff --git a/src/app/app.module.ts b/src/app/app.module.ts index ca8e0debe4a65f2189194533b40a02e644c155c4..d643abf31ef26db9aaf0792750a17d24657bb64c 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 d2ac6fec9f3d7f2884f6704aae3790ed1fc96f0f..b8719e7aaf2a1af7a17d2a51805cfb597a6f490b 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 e7d0a467d7e22c3f75314f74bc9942e3db1fffb0..d7be5307c82d503105fc45817a0fb8a9fc7a2456 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 21760f0e010a713a88e268bcebe56b7c1869cdb8..529f5fcc09092d0765f0a7e8ab16ca8da1e3da31 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; + } + }