[Ovirt-devel] [PATCH] Remove svg bar graphs, replace with css.
Mohammed Morsi
mmorsi at redhat.com
Fri Sep 5 10:10:17 UTC 2008
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
More information about the ovirt-devel
mailing list