mirror of
				https://github.com/ohwgiles/laminar.git
				synced 2025-06-13 12:54:29 +00:00 
			
		
		
		
	label per-job build-time graph axes
commonalize some js for configuring time axes
This commit is contained in:
		
							parent
							
								
									63301c73d9
								
							
						
					
					
						commit
						48854239a5
					
				| @ -15,6 +15,14 @@ Vue.filter('iecFileSize', function(bytes) { | ||||
|     ['B', 'KiB', 'MiB', 'GiB', 'TiB'][exp]; | ||||
| }); | ||||
| 
 | ||||
| const timeScale = function(max){ | ||||
|   return max > 3600 | ||||
|   ? { scale:function(v){return Math.round(v/360)/10}, label:'Hours' } | ||||
|   : max > 60 | ||||
|   ? { scale:function(v){return Math.round(v/60)/10}, label:'Minutes' } | ||||
|   : { scale:function(v){return v;}, label:'Seconds' }; | ||||
| } | ||||
| 
 | ||||
| const wsp = function(path) { | ||||
|   return new WebSocket((location.protocol === 'https:'?'wss://':'ws://') | ||||
|                           + location.host + path); | ||||
| @ -269,9 +277,7 @@ const Home = function() { | ||||
|             }}}]} | ||||
|           } | ||||
|         }); | ||||
|         var tpjScale = function(max){ | ||||
|           return max > 3600 ? 3600 : max > 60 ? 60 : 1; | ||||
|         }(Math.max(Object.values(msg.timePerJob))); | ||||
|         var tpjScale = timeScale(Math.max(Object.values(msg.timePerJob))); | ||||
|         chtTimePerJob = new Chart(document.getElementById("chartTpj"), { | ||||
|           type: 'horizontalBar', | ||||
|           data: { | ||||
| @ -284,18 +290,14 @@ const Home = function() { | ||||
|           }, | ||||
|           options:{ | ||||
|             scales:{xAxes:[{ | ||||
|               ticks:{userCallback: (label, index, labels)=>{ | ||||
|                 return tpjScale == 1 ? label : Math.round(label/(tpjScale/10))/10; | ||||
|               }}, | ||||
|               ticks:{userCallback: tpjScale.scale}, | ||||
|               scaleLabel: { | ||||
|                 display: true, | ||||
|                 labelString: function(){ | ||||
|                   return tpjScale == 3600 ? 'Hours' : tpjScale == 60 ? 'Minutes' : 'Seconds'; | ||||
|                 }() | ||||
|                 labelString: tpjScale.label | ||||
|               } | ||||
|             }]}, | ||||
|             tooltips:{callbacks:{label:(tip, data)=>{ | ||||
|               return data.datasets[tip.datasetIndex].label + ': ' + tip.xLabel + (tpjScale == 3600 ? ' hours' : tpjScale == 60 ? ' minutes' : ' seconds'); | ||||
|               return data.datasets[tip.datasetIndex].label + ': ' + tip.xLabel + ' ' + tpjScale.label.toLowerCase(); | ||||
|             }}} | ||||
|           } | ||||
|         }); | ||||
| @ -345,9 +347,7 @@ const Home = function() { | ||||
|             } | ||||
|           } | ||||
|         }); | ||||
|         var btcScale = function(max){ | ||||
|           return max > 3600 ? 3600 : max > 60 ? 60 : 1; | ||||
|         }(Math.max(msg.buildTimeChanges.map((e)=>{return Math.max(e.durations)}))); | ||||
|         var btcScale = timeScale(Math.max(msg.buildTimeChanges.map((e)=>{return Math.max(e.durations)}))); | ||||
|         var chtBuildTimeChanges = new Chart(document.getElementById("chartBuildTimeChanges"), { | ||||
|           type: 'line', | ||||
|           data: { | ||||
| @ -364,14 +364,10 @@ const Home = function() { | ||||
|             scales:{ | ||||
|               xAxes:[{ticks:{display: false}}], | ||||
|               yAxes:[{ | ||||
|                 ticks:{userCallback: (label, index, labels)=>{ | ||||
|                   return btcScale == 1 ? label : Math.round(label/(btcScale/10))/10; | ||||
|                 }}, | ||||
|                 ticks:{userCallback: btcScale.scale}, | ||||
|                 scaleLabel: { | ||||
|                   display: true, | ||||
|                   labelString: function(){ | ||||
|                     return btcScale == 3600 ? 'Hours' : btcScale == 60 ? 'Minutes' : 'Seconds'; | ||||
|                   }() | ||||
|                   labelString: btcScale.label | ||||
|                 } | ||||
|               }] | ||||
|             }, | ||||
| @ -562,6 +558,7 @@ var Job = function() { | ||||
|         // old chart and recreate it to prevent flickering of old data
 | ||||
|         if(chtBt) | ||||
|           chtBt.destroy(); | ||||
|         var btScale = timeScale(Math.max(msg.recent.map(v=>{v.completed-v.started}))); | ||||
|         chtBt = new Chart(document.getElementById("chartBt"), { | ||||
|           type: 'bar', | ||||
|           data: { | ||||
| @ -599,8 +596,15 @@ var Job = function() { | ||||
|                   display: false, | ||||
|                   drawBorder: false | ||||
|                 } | ||||
|               }], | ||||
|               yAxes:[{ | ||||
|                 ticks:{userCallback: btScale.scale}, | ||||
|                 scaleLabel:{display: true, labelString: btScale.label} | ||||
|               }] | ||||
|             } | ||||
|             }, | ||||
|             tooltips:{callbacks:{label:(tip, data)=>{ | ||||
|               return data.datasets[tip.datasetIndex].label + ': ' + tip.yLabel + ' ' + btScale.label.toLowerCase(); | ||||
|             }}} | ||||
|           } | ||||
|         }); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user