| 
					
				 | 
			
			
				@@ -26,6 +26,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <% if @rows.any? %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <% values = @rows.first.values %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <% chart_id = SecureRandom.hex %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <% column_types = blazer_column_types(@columns, @rows, @boom) %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <% if blazer_maps? && @markers.any? %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div id="map" style="height: <%= @only_chart ? 300 : 500 %>px;"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <script> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -55,14 +56,14 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         featureLayer.setGeoJSON(geojson); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         map.fitBounds(featureLayer.getBounds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <% elsif values.size >= 2 && (values.first.is_a?(Time) || values.first.is_a?(Date)) && values[1..-1].all?{|v| v.is_a?(Numeric) } %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <% elsif values.size >= 2 && column_types == ["time"] + (values.size - 1).times.map { "numeric" } %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <% time_k = @columns.keys.first %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <%= line_chart @columns.keys[1..-1].map{|k| {name: k, data: @rows.map{|r| [r[time_k], r[k]] }} }, id: chart_id, min: nil %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <% elsif values.size == 3 && (values.first.is_a?(Time) || values.first.is_a?(Date)) && values[1].is_a?(String) && values[2].is_a?(Numeric) %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <% elsif values.size == 3 && column_types == ["time", "string", "numeric"] %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <% keys = @columns.keys %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <%= line_chart @rows.group_by { |v| v[keys[1]] }.map { |name, v| {name: name, data: v.map { |v2| [v2[keys[0]], v2[keys[2]]] } } }, id: chart_id, min: nil %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <% elsif values.size == 2 && values.first.is_a?(String) && values.last.is_a?(Numeric) %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <%= pie_chart @rows.map(&:values), library: {sliceVisibilityThreshold: 1 / 40.0}, id: chart_id %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <%= line_chart @rows.group_by { |r| k = keys[1]; v = r[k]; (@boom[k] || {})[v.to_s] || v }.map { |name, v| {name: name, data: v.map { |v2| [v2[keys[0]], v2[keys[2]]] } } }, id: chart_id, min: nil %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <% elsif values.size == 2 && column_types == ["string", "numeric"] %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <%= pie_chart @rows.map { |r| r.map { |k, v| (@boom[k] || {})[v.to_s] || v } }, library: {sliceVisibilityThreshold: 1 / 40.0}, id: chart_id %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <% elsif @only_chart %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <% if @rows.size == 1 && @rows.first.size == 1 %> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <p style="font-size: 160px;"><%= blazer_format_value(@rows.first.keys.first, @rows.first.values.first) %></p> 
			 |