Commit 689e802a authored by Paul Asmuth's avatar Paul Asmuth
Browse files

Merge pull request #66 from kunalmodi/add-html

embed external html charts in widgets
parents 8a2fd6f7 bf4edff3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -152,6 +152,7 @@ require "fnordmetric/numbers_widget"
require "fnordmetric/bars_widget"
require "fnordmetric/toplist_widget"
require "fnordmetric/pie_widget"
require "fnordmetric/html_widget"
require "fnordmetric/namespace"
require "fnordmetric/gauge_modifiers"
require "fnordmetric/gauge_calculations"
+28 −0
Original line number Diff line number Diff line
class FnordMetric::HtmlWidget < FnordMetric::Widget
  def data
    super.merge(
      :html => @opts[:html]
    )
  end

	def add_gauges(gauges)
		@gauges = []
		@tick 	= 0
		
		if !gauges.blank?
      error! "initializing a html widget with gauges is void"
    end
	end

  def data_gauges
		{}
  end

	def default_range(now=Time.now)
		0..0
	end

  def has_tick?
    false
  end
end
 No newline at end of file
+26 −1
Original line number Diff line number Diff line
@@ -178,6 +178,31 @@ var FnordMetric = (function(){

  };

	var htmlWidget = function(){
		function render(opts){

      opts.elem.append(
        $('<div class="headbar small"></div>').html(opts.title)
      ).css({
        'marginBottom': 20,
        'overflow': 'hidden'
      });
			
			var container = $('<div></div>')
        .addClass('html_container')
				.html(opts.html);
			
			opts.elem.append(container);
		}
		
		function updateValues(opts){}
		function updatedisplay(opts, diff_factor){}
	
		return {
			render: render
		};
	}

  var numbersWidget = function(){


@@ -604,7 +629,6 @@ var FnordMetric = (function(){

  };


  var pieWidget = function(){

    function render(opts){
@@ -1078,6 +1102,7 @@ var FnordMetric = (function(){
      if(widget.klass=='NumbersWidget'){ numbersWidget().render(widget); }
      if(widget.klass=='ToplistWidget'){ toplistWidget().render(widget); }
      if(widget.klass=='PieWidget'){ pieWidget().render(widget); }
			if(widget.klass=="HtmlWidget") { htmlWidget().render(widget); }
    };

    function resizeWidget(wkey){