better frontend handling for very large witnesses
This commit is contained in:
		
							parent
							
								
									47d2a6d5c7
								
							
						
					
					
						commit
						a8b162387b
					
				| @ -94,7 +94,7 @@ | ||||
|               </tr> | ||||
|               <tr *ngIf="(showDetails$ | async) === true"> | ||||
|                 <td colspan="3" class="details-container" > | ||||
|                   <table class="table table-striped table-borderless details-table mb-3"> | ||||
|                   <table class="table table-striped table-fixed table-borderless details-table mb-3"> | ||||
|                     <tbody> | ||||
|                       <ng-template [ngIf]="vin.scriptsig"> | ||||
|                         <tr> | ||||
| @ -106,9 +106,23 @@ | ||||
|                           <td style="text-align: left;">{{ vin.scriptsig }}</td> | ||||
|                         </tr> | ||||
|                       </ng-template> | ||||
|                       <tr *ngIf="vin.witness"> | ||||
|                       <tr *ngIf="vin.witness" class="vin-witness"> | ||||
|                         <td i18n="transactions-list.witness">Witness</td> | ||||
|                         <td style="text-align: left;">{{ vin.witness.join(' ') }}</td> | ||||
|                         <td style="text-align: left;"> | ||||
|                           <ng-container *ngFor="let witness of vin.witness; index as i"> | ||||
|                             <input type="checkbox" [id]="'tx' + vindex + 'witness' + i" style="display: none;"> | ||||
|                             <p class="witness-item" [class.accordioned]="witness.length > 1000"> | ||||
|                               {{ witness }} | ||||
|                             </p> | ||||
|                             <div class="witness-toggle" *ngIf="witness.length > 1000"> | ||||
|                               <span  class="ellipsis">...</span> | ||||
|                               <label [for]="'tx' + vindex + 'witness' + i" class="btn btn-sm btn-primary mt-2"> | ||||
|                                 <span class="show-all" i18n="show-all">Show all</span> | ||||
|                                 <span class="show-less" i18n="show-less">Show less</span> | ||||
|                               </label> | ||||
|                             </div> | ||||
|                           </ng-container> | ||||
|                         </td> | ||||
|                       </tr> | ||||
|                       <tr *ngIf="vin.inner_redeemscript_asm"> | ||||
|                         <td i18n="transactions-list.p2sh-redeem-script">P2SH redeem script</td> | ||||
|  | ||||
| @ -105,9 +105,7 @@ td.amount { | ||||
| 		&:first-child { | ||||
| 			color: #ffffff66; | ||||
| 			white-space: pre-wrap; | ||||
| 			@media (min-width: 476px) { | ||||
| 				white-space: nowrap; | ||||
| 			} | ||||
| 			width: 150px; | ||||
| 		} | ||||
| 		&:nth-child(2) { | ||||
| 			word-break: break-all; | ||||
| @ -152,4 +150,45 @@ h2 { | ||||
| 	width: 0; | ||||
| 	flex-grow: 1; | ||||
| 	margin-inline-end: 2em; | ||||
| } | ||||
| 
 | ||||
| .vin-witness { | ||||
| 	.witness-item.accordioned { | ||||
| 		max-height: 300px; | ||||
| 		overflow: hidden; | ||||
| 	} | ||||
| 
 | ||||
| 	input:checked + .witness-item.accordioned { | ||||
| 		max-height: none; | ||||
| 	} | ||||
| 
 | ||||
| 	.witness-toggle { | ||||
| 		display: flex; | ||||
| 		flex-direction: row; | ||||
| 		align-items: flex-start; | ||||
| 		justify-content: space-between; | ||||
| 		margin-bottom: 1em; | ||||
| 
 | ||||
| 		.show-all { | ||||
| 			display: inline; | ||||
| 		} | ||||
| 		.show-less { | ||||
| 			display: none; | ||||
| 		} | ||||
| 		.ellipsis { | ||||
| 			visibility: visible; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	input:checked ~ .witness-toggle { | ||||
| 		.show-all { | ||||
| 			display: none; | ||||
| 		} | ||||
| 		.show-less { | ||||
| 			display: inline; | ||||
| 		} | ||||
| 		.ellipsis { | ||||
| 			visibility: hidden; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user