diff --git a/src/app/pages/explorer-page/explorer-page.component.html b/src/app/pages/explorer-page/explorer-page.component.html index 19df29a1703c0f5a716869ce0ad0ce2110a6223c..40624c92c68f57ed099ba72037ae801785d25ce5 100644 --- a/src/app/pages/explorer-page/explorer-page.component.html +++ b/src/app/pages/explorer-page/explorer-page.component.html @@ -79,14 +79,21 @@ <i class="fas fa-filter" aria-hidden="true"></i> </span> Filter Viral Proteins </p> + <a (click)="collabsDFilter = !collabsDFilter" data-action="collapse" class="card-header-icon is-hidden-fullscreen" aria-label="more options"> + <span class="icon"> + <i class="fas fa-angle-down" aria-hidden="true"></i> + </span> + </a> </header> - <div class="card-content overflow"> - <div *ngFor="let bait of viralProteinCheckboxes"> - <label class="checkbox"> - <input type="checkbox" class="checkbox" [ngModel]="bait.checked" - (ngModelChange)="bait.checked = $event; filterNodes()"> - {{ bait.data.effectName }} - </label> + <div *ngIf="collabsDFilter"> + <div class="card-content overflow"> + <div *ngFor="let bait of viralProteinCheckboxes"> + <label class="checkbox"> + <input type="checkbox" class="checkbox" [ngModel]="bait.checked" + (ngModelChange)="bait.checked = $event; filterNodes()"> + {{ bait.data.effectName }} + </label> + </div> </div> </div> <footer class="card-footer"> @@ -158,42 +165,49 @@ <i class="fas fa-info" aria-hidden="true"></i> </span> {{currentProteinAc}} </p> + <a (click)="collabsDetails = !collabsDetails" data-action="collapse" class="card-header-icon is-hidden-fullscreen" aria-label="more options"> + <span class="icon"> + <i class="fas fa-angle-down" aria-hidden="true"></i> + </span> + </a> </header> - <div class="card-content"> - <div *ngIf="showDetails"> - <p><b>Protein Name:</b> {{ currentProteinAc }}</p> - <p><b>Protein AC(s):</b> - <a href="https://www.uniprot.org/uniprot/{{proteinAc}}" target="_blank" - *ngFor="let proteinAc of proteinAcs"> - {{ proteinAc }} - </a> - </p> - <div class="field has-addons add-remove-toggle"> - <p class="control"> - <button class="button is-rounded" [class.is-success]="!inSelection(currentProteinAc)" - [disabled]="inSelection(currentProteinAc)" - (click)="addToSelection(currentProteinAc)"> - <span class="icon is-small"> - <i class="fas fa-plus"></i> - </span> - <span>Add to Analysis</span> - </button> - </p> - <p class="control"> - <button class="button is-rounded" [class.is-danger]="inSelection(currentProteinAc)" - [disabled]="!inSelection(currentProteinAc)" - (click)="removeFromSelection(currentProteinAc)"> - <span>Remove</span> - <span class="icon is-small"> - <i class="fas fa-trash"></i> - </span> - </button> + <div *ngIf="collabsDetails"> + <div class="card-content"> + <div *ngIf="showDetails"> + <p><b>Protein Name:</b> {{ currentProteinAc }}</p> + <p><b>Protein AC(s):</b> + <a href="https://www.uniprot.org/uniprot/{{proteinAc}}" target="_blank" + *ngFor="let proteinAc of proteinAcs"> + {{ proteinAc }} + </a> </p> + <div class="field has-addons add-remove-toggle"> + <p class="control"> + <button class="button is-rounded" [class.is-success]="!inSelection(currentProteinAc)" + [disabled]="inSelection(currentProteinAc)" + (click)="addToSelection(currentProteinAc)"> + <span class="icon is-small"> + <i class="fas fa-plus"></i> + </span> + <span>Add to Analysis</span> + </button> + </p> + <p class="control"> + <button class="button is-rounded" [class.is-danger]="inSelection(currentProteinAc)" + [disabled]="!inSelection(currentProteinAc)" + (click)="removeFromSelection(currentProteinAc)"> + <span>Remove</span> + <span class="icon is-small"> + <i class="fas fa-trash"></i> + </span> + </button> + </p> + </div> + </div> + <div *ngIf="!showDetails"> + Please select a node for further information. + <!-- <a (click)="selectedAnalysisToken = 'oy4UsXfBDobTucdQBhN9IUzfnpqKwzqx'"> Open Analysis Window </a>--> </div> - </div> - <div *ngIf="!showDetails"> - Please select a node for further information. - <!-- <a (click)="selectedAnalysisToken = 'oy4UsXfBDobTucdQBhN9IUzfnpqKwzqx'"> Open Analysis Window </a>--> </div> </div> </div> @@ -205,18 +219,25 @@ <i class="fas fa-flask" aria-hidden="true"></i> </span> Analysis </p> - </header> - <div class="card-content"> - <button (click)="showAnalysisDialog = true" - class="button is-primary is-fullwidth is-rounded" - [disabled]="analysis.getCount() === 0"> + <a (click)="collabsAnalysis = !collabsAnalysis" data-action="collapse" class="card-header-icon is-hidden-fullscreen" aria-label="more options"> <span class="icon"> - <i class="fa fa-rocket"></i> - </span> - <span> - Launch Analysis + <i class="fas fa-angle-down" aria-hidden="true"></i> </span> - </button> + </a> + </header> + <div *ngIf="collabsAnalysis"> + <div class="card-content"> + <button (click)="showAnalysisDialog = true" + class="button is-primary is-fullwidth is-rounded" + [disabled]="analysis.getCount() === 0"> + <span class="icon"> + <i class="fa fa-rocket"></i> + </span> + <span> + Launch Analysis + </span> + </button> + </div> </div> </div> @@ -227,22 +248,30 @@ <i class="fas fa-filter" aria-hidden="true"></i> </span> Tasks </p> - </header> - <div class="card-content overflow"> - <app-task-list [(token)]="selectedAnalysisToken"></app-task-list> - </div> - <footer class="card-footer"> - <a (click)="analysis.removeAllTasks();" class="card-footer-item has-text-danger"> + <a (click)="collabsTask = !collabsTask" data-action="collapse" class="card-header-icon is-hidden-fullscreen" aria-label="more options"> <span class="icon"> - <i class="fa fa-trash"></i> - </span> - <span> - Delete All - </span> + <i class="fas fa-angle-down" aria-hidden="true"></i> + </span> </a> - </footer> + </header> + <div *ngIf="collabsTask"> + <div class="card-content overflow"> + <app-task-list [(token)]="selectedAnalysisToken"></app-task-list> + </div> + <footer class="card-footer"> + <a (click)="analysis.removeAllTasks();" class="card-footer-item has-text-danger"> + <span class="icon"> + <i class="fa fa-trash"></i> + </span> + <span> + Delete All + </span> + </a> + </footer> + </div> </div> + <div class="card bar-large"> <header class="card-header"> <p class="card-header-title"> @@ -250,29 +279,36 @@ <i class="fas fa-filter" aria-hidden="true"></i> </span> Selection </p> + <a (click)="collabsSelection = !collabsSelection" data-action="collapse" class="card-header-icon is-hidden-fullscreen" aria-label="more options"> + <span class="icon"> + <i class="fas fa-angle-down" aria-hidden="true"></i> + </span> + </a> </header> - <div class="card-content overflow"> - <table class="table" *ngIf="analysis.getCount() > 0"> - <thead> - <tr> - <td>AC</td> - <td>Actions</td> - </tr> - </thead> - <tbody> - <tr *ngFor="let p of analysis.getSelection()"> - <td>{{p.proteinAc}}</td> - <td> - <button (click)="analysis.removeProtein(p)" class="button is-small is-danger is-outlined"> - <i class="fa fa-trash"></i> - </button> - </td> - </tr> - </tbody> - </table> - <i *ngIf="analysis.getCount() === 0"> - To select proteins, click them while pressing CTRL. - </i> + <div *ngIf="collabsSelection"> + <div class="card-content overflow"> + <table class="table" *ngIf="analysis.getCount() > 0"> + <thead> + <tr> + <td>AC</td> + <td>Actions</td> + </tr> + </thead> + <tbody> + <tr *ngFor="let p of analysis.getSelection()"> + <td>{{p.proteinAc}}</td> + <td> + <button (click)="analysis.removeProtein(p)" class="button is-small is-danger is-outlined"> + <i class="fa fa-trash"></i> + </button> + </td> + </tr> + </tbody> + </table> + <i *ngIf="analysis.getCount() === 0"> + To select proteins, click them while pressing CTRL. + </i> + </div> </div> <footer class="card-footer"> <a (click)="addAllHostProteins()" class="card-footer-item has-text-success"> diff --git a/src/app/pages/explorer-page/explorer-page.component.ts b/src/app/pages/explorer-page/explorer-page.component.ts index 49d9a839e5eed78abe5df4798de3def7c4b3691a..1ff727b29f26fedf48c7c7b2cb02b43a851905c7 100644 --- a/src/app/pages/explorer-page/explorer-page.component.ts +++ b/src/app/pages/explorer-page/explorer-page.component.ts @@ -23,6 +23,11 @@ declare var vis: any; export class ExplorerPageComponent implements OnInit, AfterViewInit { public showDetails = false; + public collabsAnalysis = true; + public collabsDetails = true; + public collabsTask = true; + public collabsSelection = true; + public collabsDFilter = true; public currentProteinAc = ''; public geneNames: Array<string> = []; public proteinNames: Array<string> = [];