Add data zoom to difficulty
This commit is contained in:
		
							parent
							
								
									7da4187638
								
							
						
					
					
						commit
						e770520f0e
					
				@ -274,7 +274,7 @@ class BlocksRepository {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    query += ` GROUP BY difficulty
 | 
					    query += ` GROUP BY difficulty
 | 
				
			||||||
      ORDER BY blockTimestamp DESC`;
 | 
					      ORDER BY blockTimestamp`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const [rows]: any[] = await connection.query(query);
 | 
					    const [rows]: any[] = await connection.query(query);
 | 
				
			||||||
    connection.release();
 | 
					    connection.release();
 | 
				
			||||||
 | 
				
			|||||||
@ -41,7 +41,7 @@ class HashratesRepository {
 | 
				
			|||||||
      query += ` WHERE hashrate_timestamp BETWEEN DATE_SUB(NOW(), INTERVAL ${interval}) AND NOW()`;
 | 
					      query += ` WHERE hashrate_timestamp BETWEEN DATE_SUB(NOW(), INTERVAL ${interval}) AND NOW()`;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    query += ` ORDER by hashrate_timestamp DESC`;
 | 
					    query += ` ORDER by hashrate_timestamp`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const [rows]: any[] = await connection.query(query);
 | 
					    const [rows]: any[] = await connection.query(query);
 | 
				
			||||||
    connection.release();
 | 
					    connection.release();
 | 
				
			||||||
 | 
				
			|||||||
@ -1,10 +1,5 @@
 | 
				
			|||||||
<div [class]="widget === false ? 'container-xl' : ''">
 | 
					<div [class]="widget === false ? 'container-xl' : ''">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <div *ngIf="difficultyObservable$ | async" class="" echarts [initOpts]="chartInitOptions" [options]="chartOptions"></div>
 | 
					 | 
				
			||||||
  <div class="text-center loadingGraphs" *ngIf="isLoading">
 | 
					 | 
				
			||||||
    <div class="spinner-border text-light"></div>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  <div class="card-header mb-0 mb-lg-4" [style]="widget ? 'display:none' : ''">
 | 
					  <div class="card-header mb-0 mb-lg-4" [style]="widget ? 'display:none' : ''">
 | 
				
			||||||
    <form [formGroup]="radioGroupForm" class="formRadioGroup" *ngIf="(difficultyObservable$ | async) as diffChanges">
 | 
					    <form [formGroup]="radioGroupForm" class="formRadioGroup" *ngIf="(difficultyObservable$ | async) as diffChanges">
 | 
				
			||||||
      <div class="btn-group btn-group-toggle" ngbRadioGroup name="radioBasic" formControlName="dateSpan">
 | 
					      <div class="btn-group btn-group-toggle" ngbRadioGroup name="radioBasic" formControlName="dateSpan">
 | 
				
			||||||
@ -30,6 +25,11 @@
 | 
				
			|||||||
    </form>
 | 
					    </form>
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <div *ngIf="difficultyObservable$ | async" class="mb-5" echarts [initOpts]="chartInitOptions" [options]="chartOptions"></div>
 | 
				
			||||||
 | 
					  <div class="text-center loadingGraphs" *ngIf="isLoading">
 | 
				
			||||||
 | 
					    <div class="spinner-border text-light"></div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <table class="table table-borderless table-sm text-center" *ngIf="!widget">
 | 
					  <table class="table table-borderless table-sm text-center" *ngIf="!widget">
 | 
				
			||||||
    <thead>
 | 
					    <thead>
 | 
				
			||||||
      <tr>
 | 
					      <tr>
 | 
				
			||||||
 | 
				
			|||||||
@ -8,3 +8,20 @@
 | 
				
			|||||||
  text-align: center;
 | 
					  text-align: center;
 | 
				
			||||||
  padding-bottom: 3px;
 | 
					  padding-bottom: 3px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.formRadioGroup {
 | 
				
			||||||
 | 
					  margin-top: 6px;
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  flex-direction: column;
 | 
				
			||||||
 | 
					  @media (min-width: 830px) {
 | 
				
			||||||
 | 
					    flex-direction: row;
 | 
				
			||||||
 | 
					    float: right;
 | 
				
			||||||
 | 
					    margin-top: 0px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  .btn-sm {
 | 
				
			||||||
 | 
					    font-size: 9px;
 | 
				
			||||||
 | 
					    @media (min-width: 830px) {
 | 
				
			||||||
 | 
					      font-size: 14px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -63,9 +63,9 @@ export class DifficultyChartComponent implements OnInit {
 | 
				
			|||||||
                ) / 3600 / 24;
 | 
					                ) / 3600 / 24;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                const tableData = [];
 | 
					                const tableData = [];
 | 
				
			||||||
                for (let i = 0; i < data.adjustments.length - 1; ++i) {
 | 
					                for (let i = data.adjustments.length - 1; i > 0; --i) {
 | 
				
			||||||
                  const selectedPowerOfTen: any = selectPowerOfTen(data.adjustments[i].difficulty);
 | 
					                  const selectedPowerOfTen: any = selectPowerOfTen(data.adjustments[i].difficulty);
 | 
				
			||||||
                  const change = (data.adjustments[i].difficulty / data.adjustments[i + 1].difficulty - 1) * 100;
 | 
					                  const change = (data.adjustments[i].difficulty / data.adjustments[i - 1].difficulty - 1) * 100;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                  tableData.push(Object.assign(data.adjustments[i], {
 | 
					                  tableData.push(Object.assign(data.adjustments[i], {
 | 
				
			||||||
                    change: change,
 | 
					                    change: change,
 | 
				
			||||||
@ -149,6 +149,31 @@ export class DifficultyChartComponent implements OnInit {
 | 
				
			|||||||
          width: 2,
 | 
					          width: 2,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					      dataZoom: this.widget ? null : [{
 | 
				
			||||||
 | 
					        type: 'inside',
 | 
				
			||||||
 | 
					        realtime: true,
 | 
				
			||||||
 | 
					        zoomLock: true,
 | 
				
			||||||
 | 
					        zoomOnMouseWheel: true,
 | 
				
			||||||
 | 
					        moveOnMouseMove: true,
 | 
				
			||||||
 | 
					        maxSpan: 100,
 | 
				
			||||||
 | 
					        minSpan: 10,
 | 
				
			||||||
 | 
					      }, {
 | 
				
			||||||
 | 
					        showDetail: false,
 | 
				
			||||||
 | 
					        show: true,
 | 
				
			||||||
 | 
					        type: 'slider',
 | 
				
			||||||
 | 
					        brushSelect: false,
 | 
				
			||||||
 | 
					        realtime: true,
 | 
				
			||||||
 | 
					        bottom: 0,
 | 
				
			||||||
 | 
					        selectedDataBackground: {
 | 
				
			||||||
 | 
					          lineStyle: {
 | 
				
			||||||
 | 
					            color: '#fff',
 | 
				
			||||||
 | 
					            opacity: 0.45,
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          areaStyle: {
 | 
				
			||||||
 | 
					            opacity: 0,
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      }],
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user