Expand toggle for RBF history view
This commit is contained in:
		
							parent
							
								
									f915ff3f91
								
							
						
					
					
						commit
						75b3bc6249
					
				@ -1,7 +1,7 @@
 | 
				
			|||||||
<div class="rbf-timeline box" [class.mined]="replacements.mined">
 | 
					<div class="rbf-timeline box" [class.mined]="replacements.mined">
 | 
				
			||||||
  <div class="timeline-wrapper">
 | 
					  <div class="timeline-wrapper">
 | 
				
			||||||
    <div class="timeline" *ngFor="let timeline of rows">
 | 
					    <div class="timeline" *ngFor="let timeline of rows; let j = index">
 | 
				
			||||||
      <div class="intervals">
 | 
					      <div class="intervals" *ngIf="j < rowLimit || timelineExpanded">
 | 
				
			||||||
        <ng-container *ngFor="let cell of timeline; let i = index;">
 | 
					        <ng-container *ngFor="let cell of timeline; let i = index;">
 | 
				
			||||||
          <div class="node-spacer"></div>
 | 
					          <div class="node-spacer"></div>
 | 
				
			||||||
          <ng-container *ngIf="i < timeline.length - 1">
 | 
					          <ng-container *ngIf="i < timeline.length - 1">
 | 
				
			||||||
@ -13,7 +13,7 @@
 | 
				
			|||||||
          </ng-container>
 | 
					          </ng-container>
 | 
				
			||||||
        </ng-container>
 | 
					        </ng-container>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
      <div class="nodes">
 | 
					      <div class="nodes" *ngIf="j < rowLimit || timelineExpanded">
 | 
				
			||||||
        <ng-container *ngFor="let cell of timeline; let i = index;">
 | 
					        <ng-container *ngFor="let cell of timeline; let i = index;">
 | 
				
			||||||
          <ng-container *ngIf="cell.replacement?.tx; else nonNode">
 | 
					          <ng-container *ngIf="cell.replacement?.tx; else nonNode">
 | 
				
			||||||
            <div class="node"
 | 
					            <div class="node"
 | 
				
			||||||
@ -50,6 +50,15 @@
 | 
				
			|||||||
        </ng-container>
 | 
					        </ng-container>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="toggle-wrapper" *ngIf="rows.length > rowLimit && rowLimit !== 0">
 | 
				
			||||||
 | 
					      <button class="btn btn-sm btn-primary graph-toggle" (click)="toggleTimeline(true);" *ngIf="!timelineExpanded; else collapseBtn">
 | 
				
			||||||
 | 
					        <span i18n="show-all">Show all</span>
 | 
				
			||||||
 | 
					        (<ng-container *ngTemplateOutlet="xRemaining; context: {$implicit: rows.length - rowLimit}"></ng-container>)
 | 
				
			||||||
 | 
					      </button>
 | 
				
			||||||
 | 
					      <ng-template #collapseBtn>
 | 
				
			||||||
 | 
					        <button class="btn btn-sm btn-primary graph-toggle" (click)="toggleTimeline(false);"><span i18n="show-less">Show less</span></button>
 | 
				
			||||||
 | 
					      </ng-template>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <ng-template #nodeSpacer>
 | 
					  <ng-template #nodeSpacer>
 | 
				
			||||||
@ -72,3 +81,5 @@
 | 
				
			|||||||
    [isConnector]="hoverConnector"
 | 
					    [isConnector]="hoverConnector"
 | 
				
			||||||
  ></app-rbf-timeline-tooltip> -->
 | 
					  ></app-rbf-timeline-tooltip> -->
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<ng-template #xRemaining let-x i18n="x-remaining">{{ x }} remaining</ng-template>
 | 
				
			||||||
@ -34,6 +34,12 @@
 | 
				
			|||||||
    &::-webkit-scrollbar {
 | 
					    &::-webkit-scrollbar {
 | 
				
			||||||
      display: none;
 | 
					      display: none;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .toggle-wrapper {
 | 
				
			||||||
 | 
					      width: 100%;
 | 
				
			||||||
 | 
					      text-align: center;
 | 
				
			||||||
 | 
					      margin: 1.25em 0 0;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .intervals, .nodes {
 | 
					  .intervals, .nodes {
 | 
				
			||||||
 | 
				
			|||||||
@ -25,7 +25,9 @@ function isTimelineCell(val: RbfTree | TimelineCell): boolean {
 | 
				
			|||||||
export class RbfTimelineComponent implements OnInit, OnChanges {
 | 
					export class RbfTimelineComponent implements OnInit, OnChanges {
 | 
				
			||||||
  @Input() replacements: RbfTree;
 | 
					  @Input() replacements: RbfTree;
 | 
				
			||||||
  @Input() txid: string;
 | 
					  @Input() txid: string;
 | 
				
			||||||
 | 
					  @Input() rowLimit: number = 5; // If explicitly set to 0, all timelines rows will be displayed by default
 | 
				
			||||||
  rows: TimelineCell[][] = [];
 | 
					  rows: TimelineCell[][] = [];
 | 
				
			||||||
 | 
					  timelineExpanded: boolean = this.rowLimit === 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  hoverInfo: RbfTree | null = null;
 | 
					  hoverInfo: RbfTree | null = null;
 | 
				
			||||||
  tooltipPosition = null;
 | 
					  tooltipPosition = null;
 | 
				
			||||||
@ -191,6 +193,10 @@ export class RbfTimelineComponent implements OnInit, OnChanges {
 | 
				
			|||||||
    return rows;
 | 
					    return rows;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  toggleTimeline(expand: boolean): void {
 | 
				
			||||||
 | 
					    this.timelineExpanded = expand;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  scrollToSelected() {
 | 
					  scrollToSelected() {
 | 
				
			||||||
    const node = document.getElementById('node-' + this.txid);
 | 
					    const node = document.getElementById('node-' + this.txid);
 | 
				
			||||||
    if (node) {
 | 
					    if (node) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user