Jason Guiditta
2008-Sep-04 15:49 UTC
[Ovirt-devel] [PATCH] Remove svg bar graphs, replace with css.
NOTE: This is only for graphs in a flexigrid, as they
did not have the arrow, which will be more problematic
if not impossible to do with css (though maybe with js).
Load average for host is based on 5 (apparently this is
some agreed-upon temporary scale). There is no real load
for vm pools in the database, so these are stubbed out
for now.
Signed-off-by: Jason Guiditta <jguiditt at redhat.com>
---
wui/src/app/controllers/hardware_controller.rb | 2 +-
wui/src/app/views/host/_grid.rhtml | 6 +++++-
wui/src/app/views/resources/_grid.rhtml | 7 ++++++-
wui/src/public/javascripts/ovirt.js | 7 +++++++
wui/src/public/stylesheets/components.css | 6 ++++++
wui/src/public/stylesheets/flexigrid/flexigrid.css | 2 +-
6 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/wui/src/app/controllers/hardware_controller.rb
b/wui/src/app/controllers/hardware_controller.rb
index 091ce97..a366e4c 100644
--- a/wui/src/app/controllers/hardware_controller.rb
+++ b/wui/src/app/controllers/hardware_controller.rb
@@ -150,7 +150,7 @@ class HardwareController < PoolController
attr_list << :id if params[:checkboxes]
attr_list << :hostname
attr_list << [:hardware_pool, :name] if include_pool
- attr_list += [:uuid, :hypervisor_type, :num_cpus, :cpu_speed, :arch,
:memory_in_mb, :status_str, :id]
+ attr_list += [:uuid, :hypervisor_type, :num_cpus, :cpu_speed, :arch,
:memory_in_mb, :status_str, :load_average]
json_list(hosts, attr_list, [:all], find_opts)
end
diff --git a/wui/src/app/views/host/_grid.rhtml
b/wui/src/app/views/host/_grid.rhtml
index ac24e0c..553adf9 100644
--- a/wui/src/app/views/host/_grid.rhtml
+++ b/wui/src/app/views/host/_grid.rhtml
@@ -54,7 +54,11 @@
}
function <%= table_id %>_load_widget(celDiv)
{
- load_widget(celDiv, "host");
+ var loadAvg = getAverage($(celDiv).html());
+ var loadCss = (loadAvg >50) ? "load_graph_high" :
"load_graph_low";
+ $(celDiv).html('<div title="' + loadAvg + '%
Load" \n\
+ class="load_graph ' + loadCss + '" \n\
+ style="width: ' + loadAvg +
'%;"></div>');
};
</script>
diff --git a/wui/src/app/views/resources/_grid.rhtml
b/wui/src/app/views/resources/_grid.rhtml
index 301a7aa..908eac7 100644
--- a/wui/src/app/views/resources/_grid.rhtml
+++ b/wui/src/app/views/resources/_grid.rhtml
@@ -35,7 +35,12 @@
}
function <%= table_id %>_load_widget(celDiv)
{
- load_widget(celDiv, "resource");
+ //FIXME: there is no real data save for vmpool load, so stub out for now
+ var loadAvg = getAverage(2.3);
+ var loadCss = (loadAvg >50) ? "load_graph_high" :
"load_graph_low";
+ $(celDiv).html('<div title="' + loadAvg + '%
Load" \n\
+ class="load_graph ' + loadCss + '" \n\
+ style="width: ' + loadAvg +
'%;"></div>');
};
</script>
diff --git a/wui/src/public/javascripts/ovirt.js
b/wui/src/public/javascripts/ovirt.js
index 9a0d4b7..af0b9f6 100644
--- a/wui/src/public/javascripts/ovirt.js
+++ b/wui/src/public/javascripts/ovirt.js
@@ -28,6 +28,13 @@ function validate_selected(selected_array, name)
}
}
+function getAverage(val) {
+ if (isNaN(val)) return 0;
+ //FIXME: currently using a magic number of 5 which should be replaced
+ //with comething more meaningful.
+ return (val/5 < 1) ? ((val/5) * 100) : 100;
+}
+
function add_hosts(url)
{
hosts= get_selected_checkboxes("addhosts_grid_form");
diff --git a/wui/src/public/stylesheets/components.css
b/wui/src/public/stylesheets/components.css
index 56cadf2..16eaf62 100644
--- a/wui/src/public/stylesheets/components.css
+++ b/wui/src/public/stylesheets/components.css
@@ -253,8 +253,14 @@
/* load graphs in flexigrid */
.load_graph {
+ padding: 0px !important;
+ height: 10px;
+ border:#F5AFA8 solid 1px;
}
+.load_graph_low {background: url(../images/chart_horiz_blue.png) repeat-x;}
+.load_graph_high {background: url(../images/chart_horiz_orange.png) repeat-x;}
+
/*************************
* details pane style *
*************************/
diff --git a/wui/src/public/stylesheets/flexigrid/flexigrid.css
b/wui/src/public/stylesheets/flexigrid/flexigrid.css
index f8f8037..cd1902f 100644
--- a/wui/src/public/stylesheets/flexigrid/flexigrid.css
+++ b/wui/src/public/stylesheets/flexigrid/flexigrid.css
@@ -469,7 +469,7 @@ div.colCopy {
.flexigrid div.bDiv td
{
border-bottom: 1px solid #fff;
- vertical-align: top;
+ /*vertical-align: top;*/
white-space: nowrap;
}
--
1.5.5.1
Mohammed Morsi
2008-Sep-05 10:10 UTC
[Ovirt-devel] [PATCH] Remove svg bar graphs, replace with css.
Jason Guiditta wrote:> NOTE: This is only for graphs in a flexigrid, as they > did not have the arrow, which will be more problematic > if not impossible to do with css (though maybe with js). > > Load average for host is based on 5 (apparently this is > some agreed-upon temporary scale). There is no real load > for vm pools in the database, so these are stubbed out > for now. > > Signed-off-by: Jason Guiditta <jguiditt at redhat.com> > --- > wui/src/app/controllers/hardware_controller.rb | 2 +- > wui/src/app/views/host/_grid.rhtml | 6 +++++- > wui/src/app/views/resources/_grid.rhtml | 7 ++++++- > wui/src/public/javascripts/ovirt.js | 7 +++++++ > wui/src/public/stylesheets/components.css | 6 ++++++ > wui/src/public/stylesheets/flexigrid/flexigrid.css | 2 +- > 6 files changed, 26 insertions(+), 4 deletions(-) > > diff --git a/wui/src/app/controllers/hardware_controller.rb b/wui/src/app/controllers/hardware_controller.rb > index 091ce97..a366e4c 100644 > --- a/wui/src/app/controllers/hardware_controller.rb > +++ b/wui/src/app/controllers/hardware_controller.rb > @@ -150,7 +150,7 @@ class HardwareController < PoolController > attr_list << :id if params[:checkboxes] > attr_list << :hostname > attr_list << [:hardware_pool, :name] if include_pool > - attr_list += [:uuid, :hypervisor_type, :num_cpus, :cpu_speed, :arch, :memory_in_mb, :status_str, :id] > + attr_list += [:uuid, :hypervisor_type, :num_cpus, :cpu_speed, :arch, :memory_in_mb, :status_str, :load_average] > json_list(hosts, attr_list, [:all], find_opts) > end > > diff --git a/wui/src/app/views/host/_grid.rhtml b/wui/src/app/views/host/_grid.rhtml > index ac24e0c..553adf9 100644 > --- a/wui/src/app/views/host/_grid.rhtml > +++ b/wui/src/app/views/host/_grid.rhtml > @@ -54,7 +54,11 @@ > } > function <%= table_id %>_load_widget(celDiv) > { > - load_widget(celDiv, "host"); > + var loadAvg = getAverage($(celDiv).html()); > + var loadCss = (loadAvg >50) ? "load_graph_high" : "load_graph_low"; > + $(celDiv).html('<div title="' + loadAvg + '% Load" \n\ > + class="load_graph ' + loadCss + '" \n\ > + style="width: ' + loadAvg + '%;"></div>'); > }; > > </script> > diff --git a/wui/src/app/views/resources/_grid.rhtml b/wui/src/app/views/resources/_grid.rhtml > index 301a7aa..908eac7 100644 > --- a/wui/src/app/views/resources/_grid.rhtml > +++ b/wui/src/app/views/resources/_grid.rhtml > @@ -35,7 +35,12 @@ > } > function <%= table_id %>_load_widget(celDiv) > { > - load_widget(celDiv, "resource"); > + //FIXME: there is no real data save for vmpool load, so stub out for now > + var loadAvg = getAverage(2.3); > + var loadCss = (loadAvg >50) ? "load_graph_high" : "load_graph_low"; > + $(celDiv).html('<div title="' + loadAvg + '% Load" \n\ > + class="load_graph ' + loadCss + '" \n\ > + style="width: ' + loadAvg + '%;"></div>'); > }; > > </script> > diff --git a/wui/src/public/javascripts/ovirt.js b/wui/src/public/javascripts/ovirt.js > index 9a0d4b7..af0b9f6 100644 > --- a/wui/src/public/javascripts/ovirt.js > +++ b/wui/src/public/javascripts/ovirt.js > @@ -28,6 +28,13 @@ function validate_selected(selected_array, name) > } > } > > +function getAverage(val) { > + if (isNaN(val)) return 0; > + //FIXME: currently using a magic number of 5 which should be replaced > + //with comething more meaningful. > + return (val/5 < 1) ? ((val/5) * 100) : 100; > +} > + >Just wondering why the value 5 was chosen to divide by, was this an arbitrary decision?> function add_hosts(url) > { > hosts= get_selected_checkboxes("addhosts_grid_form"); > diff --git a/wui/src/public/stylesheets/components.css b/wui/src/public/stylesheets/components.css > index 56cadf2..16eaf62 100644 > --- a/wui/src/public/stylesheets/components.css > +++ b/wui/src/public/stylesheets/components.css > @@ -253,8 +253,14 @@ > > /* load graphs in flexigrid */ > .load_graph { > + padding: 0px !important; > + height: 10px; > + border:#F5AFA8 solid 1px; > } > > +.load_graph_low {background: url(../images/chart_horiz_blue.png) repeat-x;} > +.load_graph_high {background: url(../images/chart_horiz_orange.png) repeat-x;} > + > /************************* > * details pane style * > *************************/ > diff --git a/wui/src/public/stylesheets/flexigrid/flexigrid.css b/wui/src/public/stylesheets/flexigrid/flexigrid.css > index f8f8037..cd1902f 100644 > --- a/wui/src/public/stylesheets/flexigrid/flexigrid.css > +++ b/wui/src/public/stylesheets/flexigrid/flexigrid.css > @@ -469,7 +469,7 @@ div.colCopy { > .flexigrid div.bDiv td > { > border-bottom: 1px solid #fff; > - vertical-align: top; > + /*vertical-align: top;*/ > white-space: nowrap; > } > >Everything thats there looks good, so ACK. I believe you missed the load graph on the resource pool / virtual machines tab though. -Mo