[Jifty-commit] r4818 - in jifty/trunk: share/plugins/Jifty/Plugin/Chart/web/static/js

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Thu Jan 10 23:39:45 EST 2008


Author: sterling
Date: Thu Jan 10 23:39:42 2008
New Revision: 4818

Modified:
   jifty/trunk/   (props changed)
   jifty/trunk/share/plugins/Jifty/Plugin/Chart/web/static/js/simple_bars.js

Log:
 r14744 at dynpc145:  andrew | 2008-01-10 22:38:27 -0600
 Updating so that simple bars work again (broke with Prototype 1.6) and also ported to use jQuery.


Modified: jifty/trunk/share/plugins/Jifty/Plugin/Chart/web/static/js/simple_bars.js
==============================================================================
--- jifty/trunk/share/plugins/Jifty/Plugin/Chart/web/static/js/simple_bars.js	(original)
+++ jifty/trunk/share/plugins/Jifty/Plugin/Chart/web/static/js/simple_bars.js	Thu Jan 10 23:39:42 2008
@@ -13,57 +13,52 @@
  */
 
 function SimpleBars(table) {
-    var dataset = $H();
+    var dataSet = {};
 
-    for (var i = 0; i < table.tBodies[0].rows.length; i++) {
-        var table_row = table.tBodies[0].rows[i];
-        dataset[table_row.cells[0].innerHTML] = table_row.cells[1].innerHTML;
-    }
+    jQuery('tr', table).each(function() {
+        dataSet[ jQuery(this.cells[0]).text() ] = jQuery(this.cells[1]).text();
+    });
 
-    var max_value = 0;
-    dataset.values().each(function(v,i){max_value=Math.max(max_value, v);});
+    var maxValue = 0;
+    for (var name in dataSet) {
+        maxValue = Math.max(maxValue, dataSet[name]);
+    }
 
-    var simple_bars = document.createElement('div');
-    simple_bars.id = table.id;
-    simple_bars.className = table.className;
-
-    dataset.keys().each(function(k, i) {
-        var v = dataset[k];
-
-        var row = document.createElement('div');
-        row.className = 'row';
-
-        var row_label = document.createElement('span');
-        row_label.className = 'label';
-        row_label.innerHTML = k;
-        row.appendChild(row_label);
-
-        var row_bar_area = document.createElement('span');
-        row_bar_area.className = 'barArea';
-        row.appendChild(row_bar_area);
-
-        var row_bar = document.createElement('span');
-        row_bar.className = 'bar';
-        row_bar.style.width = Math.round( 100 * v / max_value ) + '%';
-        row_bar.innerHTML = '&nbsp;';
-        row_bar_area.appendChild(row_bar);
-
-        var row_value = document.createElement('span');
-        row_value.className = 'value';
-        row_value.innerHTML = v;
-        row.appendChild(row_value);
+    var simpleBars 
+        = jQuery("<div/>")
+            .attr('id', table.attr('id'))
+            .attr('class', table.attr('class'));
+
+    for (var k in dataSet) {
+        var v = dataSet[k];
+
+        var row = jQuery('<div class="row"/>');
+        jQuery('<span class="label"/>')
+            .text(k)
+            .appendTo(row);
+
+        var rowBarArea = jQuery('<span class="barArea"/>');
+        jQuery('<span class="bar"/>')
+            .css('width', Math.round( 100 * v / maxValue ) + '%')
+            .html('&nbsp;')
+            .appendTo(rowBarArea);
+        rowBarArea.appendTo(row);
+
+        jQuery('<span class="value"/>')
+            .text(v)
+            .appendTo(row);
 
-        simple_bars.appendChild(row);
-    });
+        simpleBars.append(row);
+    }
 
-    table.parentNode.insertBefore(simple_bars, table);
-    table.parentNode.removeChild(table);
+    table.before(simpleBars);
+    table.remove();
 
     return this;
 }
 
 Behaviour.register({
     'table.simple_bars': function(table) {
-        new SimpleBars(table);
+        new SimpleBars(jQuery(table));
     }
 });


More information about the Jifty-commit mailing list