added consectuive day streak
This commit is contained in:
		
							
								
								
									
										54
									
								
								status.html
									
									
									
									
									
								
							
							
						
						
									
										54
									
								
								status.html
									
									
									
									
									
								
							@@ -5,7 +5,9 @@ layout: default
 | 
			
		||||
<script src="js/d3.min.js"></script>
 | 
			
		||||
<script>
 | 
			
		||||
    var timeFormat = 'YYYY-MM-DD HH:mm:ss';
 | 
			
		||||
    var dateFormat = 'YYYY-MM-DD';
 | 
			
		||||
    function toHHMMSS (sec_num) {
 | 
			
		||||
        sec_num = parseInt(sec_num);
 | 
			
		||||
        var hours   = Math.floor(sec_num / 3600);
 | 
			
		||||
        var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
 | 
			
		||||
        var seconds = sec_num - (hours * 3600) - (minutes * 60);
 | 
			
		||||
@@ -52,8 +54,36 @@ layout: default
 | 
			
		||||
      var hourStart = moment.unix(data[0].value.lastchange)
 | 
			
		||||
      var openTimeArrayIndex = 0;
 | 
			
		||||
      var hourArray = [];
 | 
			
		||||
      var dayCountHigh = 0;
 | 
			
		||||
      var dayCountHighStart = dayStart.clone();
 | 
			
		||||
      var dayCountHighEnd = dayStart.clone();
 | 
			
		||||
      var dayCountCurrent = 0;
 | 
			
		||||
      var dayCountCurrentStart = dayStart.clone();
 | 
			
		||||
      var dayCountCurrentEnd = dayStart.clone();
 | 
			
		||||
      var wasOpen = null;
 | 
			
		||||
      while(hourStart < moment()) {
 | 
			
		||||
 | 
			
		||||
        if(hourStart.date() != dayStart.date()) {
 | 
			
		||||
          dayStart.add(1, 'day');
 | 
			
		||||
          dayCountCurrentEnd = dayStart.clone();
 | 
			
		||||
 | 
			
		||||
          if(wasOpen == true) {
 | 
			
		||||
            dayCountCurrent++;
 | 
			
		||||
 | 
			
		||||
            if(dayCountCurrent > dayCountHigh) {
 | 
			
		||||
              dayCountHigh = dayCountCurrent;
 | 
			
		||||
              dayCountHighStart = dayCountCurrentStart.clone();
 | 
			
		||||
              dayCountHighEnd = dayCountCurrentEnd.clone();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
          } else {
 | 
			
		||||
            dayCountCurrent = 0;
 | 
			
		||||
            dayCountCurrentStart = dayStart.clone();
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          wasOpen = false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if(hourArray[hourStart.isoWeekday()] === undefined)
 | 
			
		||||
            hourArray[hourStart.isoWeekday()] = [];
 | 
			
		||||
 | 
			
		||||
@@ -62,6 +92,7 @@ layout: default
 | 
			
		||||
 | 
			
		||||
        if(moment.unix(openTimeArray[openTimeArrayIndex][1]) < hourStart && moment.unix(openTimeArray[openTimeArrayIndex][2]) > hourStart) {    
 | 
			
		||||
          hourArray[hourStart.isoWeekday()][hourStart.hour()]++;
 | 
			
		||||
          wasOpen = true;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if(moment.unix(openTimeArray[openTimeArrayIndex][2]) < hourStart && openTimeArray.length > openTimeArrayIndex + 1)
 | 
			
		||||
@@ -85,6 +116,25 @@ layout: default
 | 
			
		||||
      
 | 
			
		||||
      openTimeArray.sort(sortArrayTimeNumber);
 | 
			
		||||
      closedTimeArray.sort(sortArrayTimeNumber);
 | 
			
		||||
 | 
			
		||||
      var dayCountCurrentText = "";
 | 
			
		||||
      var dayCountHighText = "";
 | 
			
		||||
 | 
			
		||||
      if(dayCountCurrent > 1)
 | 
			
		||||
        dayCountCurrentText = dayCountCurrent + " days (" + dayCountCurrentStart.format(dateFormat) + " - " + dayCountCurrentEnd.format(dateFormat) + ")";
 | 
			
		||||
      else
 | 
			
		||||
        dayCountCurrentText = dayCountCurrent + " day (" + dayCountCurrentStart.format(dateFormat) + ")";
 | 
			
		||||
 | 
			
		||||
      if(dayCountHigh > 1)
 | 
			
		||||
        dayCountHighText = dayCountHigh + " days (" + dayCountHighStart.format(dateFormat) + " - " + dayCountHighEnd.format(dateFormat) + ")";
 | 
			
		||||
      else
 | 
			
		||||
        dayCountHighText = dayCountHigh + " day (" + dayCountHighStart.format(dateFormat) + ")";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      var dayCountHighText = dayCountHigh + ' days (' + dayCountHighStart.format(dateFormat) + " - " + dayCountHighEnd.format(dateFormat) + ")";
 | 
			
		||||
 | 
			
		||||
      $( "#days_open_current td:last" ).html(dayCountCurrentText);
 | 
			
		||||
      $( "#days_open_high td:last" ).html(dayCountHighText);
 | 
			
		||||
      
 | 
			
		||||
      $( "#space_open_percent" ).html(percentOpen + '% open');
 | 
			
		||||
      $( "#space_open_percent" ).width(percentOpen + '%');
 | 
			
		||||
@@ -311,7 +361,7 @@ layout: default
 | 
			
		||||
            unknown
 | 
			
		||||
          </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
        <tr id="days_open_current">
 | 
			
		||||
          <td>
 | 
			
		||||
            consecutive days open
 | 
			
		||||
          </td>
 | 
			
		||||
@@ -319,7 +369,7 @@ layout: default
 | 
			
		||||
            unknown
 | 
			
		||||
          </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
        <tr id="days_open_high">
 | 
			
		||||
          <td>
 | 
			
		||||
            consecutive days open (highest streak)
 | 
			
		||||
          </td>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user