You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by mf...@redhat.com on 2011/10/11 12:17:38 UTC

[PATCH core] UI: Improved hardware profile selection

From: Michal Fojtik <mf...@redhat.com>


Signed-off-by: Michal fojtik <mf...@redhat.com>
---
 server/public/javascripts/application.js |    5 ++++
 server/public/stylesheets/new.css        |    4 +++
 server/views/instances/new.html.haml     |   33 ++++++++++++++++-------------
 3 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/server/public/javascripts/application.js b/server/public/javascripts/application.js
index dc23e34..937690a 100644
--- a/server/public/javascripts/application.js
+++ b/server/public/javascripts/application.js
@@ -30,6 +30,11 @@ $(document).ready(function() {
 
 })
 
+function expandHWP(id) {
+  $('div.hwp_properties .property_block').appendTo('.hidden_content');
+  $('div#hwp_properties_'+id).hide().appendTo('div#property_container_'+id).fadeIn();
+}
+
 // NOTE: This code was copied from http://phpjs.org/functions/base64_encode:358
 // phpjs.org license it under the MIT and GPL licenses
 
diff --git a/server/public/stylesheets/new.css b/server/public/stylesheets/new.css
index 4590a46..085c382 100644
--- a/server/public/stylesheets/new.css
+++ b/server/public/stylesheets/new.css
@@ -51,3 +51,7 @@ form.link {
 p.right-float {
   float : right;
 }
+
+.hidden_content {
+  display : none;
+}
diff --git a/server/views/instances/new.html.haml b/server/views/instances/new.html.haml
index 7b98341..2347022 100644
--- a/server/views/instances/new.html.haml
+++ b/server/views/instances/new.html.haml
@@ -1,6 +1,22 @@
 =header "Launch new instance"
 =subheader "#{@image.id}"
 
+.hidden_content
+  - @hardware_profiles.each do |profile|
+    %div{ :'data-role' => :fieldcontain, :id => "hwp_properties_#{profile.name}", :class => 'property_block'}
+      - profile.properties.reject { |prop| prop.fixed? }.each do |prop|
+        %label{ :for => "#{prop.param}_#{profile.name}", :class => 'ui-input-text' }=prop.name
+        %span.radio-group-details
+          - if prop.kind == :enum
+            %select{ :size => 1, :name => prop.param }
+              - for v in prop.values
+                %option= v
+                = prop.unit
+          - elsif prop.kind == :range
+            %input{ :type => :range, :value => prop.first, :min => prop.first, :max => prop.last, :name => prop.param}
+          - else
+            %input{ :name => prop.param, :size => 10, :value => "#{prop.default}" }= prop.unit
+
 %div{ :'data-role' => :content, :'data-theme' => 'c', :class => 'middle-dialog'}
   %form{ :action => instances_url, :method => :post, :class => :new_instance, :'data-ajax' => 'false'}
     %input{ :name => :image_id, :type => :hidden, :value => @instance.image_id }/
@@ -59,21 +75,8 @@
         %fieldset{ :'data-role' => :fieldcontain}
           - @hardware_profiles.each do |profile|
             %input{ :type => :radio, :name => 'hwp_id', :value => profile.name, :id => profile.name, :'data-theme' => 'b'}/
-            %label{ :for => profile.name}=profile.name
-            - profile.properties.reject { |prop| prop.fixed? }.each do |prop|
-              %div{ :'data-role' => :fieldcontain}
-                %label{ :for => "#{prop.param}_#{profile.name}", :class => 'ui-input-text' }=prop.name
-                %span.radio-group-details
-                  - if prop.kind == :enum
-                    %select{ :size => 1, :name => prop.param }
-                      - for v in prop.values
-                        %option= v
-                    = prop.unit
-                  - elsif prop.kind == :range
-                    %input{ :type => :range, :value => prop.first, :min => prop.first, :max => prop.last, :name => prop.param}
-                  - else
-                    %input{ :name => prop.param, :size => 10, :value => "#{prop.default}" }
-                    = prop.unit
+            %label{ :for => profile.name, :onclick => "expandHWP('#{profile.name}');"}=profile.name
+            %div{ :'data-role' => :fieldcontain, :id => "property_container_#{profile.name}", :class => 'hwp_properties'}
 
     - if !@realms.empty?
       %div{ 'data-role' => :fieldcontain }
-- 
1.7.4.4


Re: [PATCH core] UI: Improved hardware profile selection

Posted by "marios@redhat.com" <ma...@redhat.com>.
ACK

On 11/10/11 13:17, mfojtik@redhat.com wrote:
> From: Michal Fojtik <mf...@redhat.com>
> 
> 
> Signed-off-by: Michal fojtik <mf...@redhat.com>
> ---
>  server/public/javascripts/application.js |    5 ++++
>  server/public/stylesheets/new.css        |    4 +++
>  server/views/instances/new.html.haml     |   33 ++++++++++++++++-------------
>  3 files changed, 27 insertions(+), 15 deletions(-)
> 
> diff --git a/server/public/javascripts/application.js b/server/public/javascripts/application.js
> index dc23e34..937690a 100644
> --- a/server/public/javascripts/application.js
> +++ b/server/public/javascripts/application.js
> @@ -30,6 +30,11 @@ $(document).ready(function() {
>  
>  })
>  
> +function expandHWP(id) {
> +  $('div.hwp_properties .property_block').appendTo('.hidden_content');
> +  $('div#hwp_properties_'+id).hide().appendTo('div#property_container_'+id).fadeIn();
> +}
> +
>  // NOTE: This code was copied from http://phpjs.org/functions/base64_encode:358
>  // phpjs.org license it under the MIT and GPL licenses
>  
> diff --git a/server/public/stylesheets/new.css b/server/public/stylesheets/new.css
> index 4590a46..085c382 100644
> --- a/server/public/stylesheets/new.css
> +++ b/server/public/stylesheets/new.css
> @@ -51,3 +51,7 @@ form.link {
>  p.right-float {
>    float : right;
>  }
> +
> +.hidden_content {
> +  display : none;
> +}
> diff --git a/server/views/instances/new.html.haml b/server/views/instances/new.html.haml
> index 7b98341..2347022 100644
> --- a/server/views/instances/new.html.haml
> +++ b/server/views/instances/new.html.haml
> @@ -1,6 +1,22 @@
>  =header "Launch new instance"
>  =subheader "#{@image.id}"
>  
> +.hidden_content
> +  - @hardware_profiles.each do |profile|
> +    %div{ :'data-role' => :fieldcontain, :id => "hwp_properties_#{profile.name}", :class => 'property_block'}
> +      - profile.properties.reject { |prop| prop.fixed? }.each do |prop|
> +        %label{ :for => "#{prop.param}_#{profile.name}", :class => 'ui-input-text' }=prop.name
> +        %span.radio-group-details
> +          - if prop.kind == :enum
> +            %select{ :size => 1, :name => prop.param }
> +              - for v in prop.values
> +                %option= v
> +                = prop.unit
> +          - elsif prop.kind == :range
> +            %input{ :type => :range, :value => prop.first, :min => prop.first, :max => prop.last, :name => prop.param}
> +          - else
> +            %input{ :name => prop.param, :size => 10, :value => "#{prop.default}" }= prop.unit
> +
>  %div{ :'data-role' => :content, :'data-theme' => 'c', :class => 'middle-dialog'}
>    %form{ :action => instances_url, :method => :post, :class => :new_instance, :'data-ajax' => 'false'}
>      %input{ :name => :image_id, :type => :hidden, :value => @instance.image_id }/
> @@ -59,21 +75,8 @@
>          %fieldset{ :'data-role' => :fieldcontain}
>            - @hardware_profiles.each do |profile|
>              %input{ :type => :radio, :name => 'hwp_id', :value => profile.name, :id => profile.name, :'data-theme' => 'b'}/
> -            %label{ :for => profile.name}=profile.name
> -            - profile.properties.reject { |prop| prop.fixed? }.each do |prop|
> -              %div{ :'data-role' => :fieldcontain}
> -                %label{ :for => "#{prop.param}_#{profile.name}", :class => 'ui-input-text' }=prop.name
> -                %span.radio-group-details
> -                  - if prop.kind == :enum
> -                    %select{ :size => 1, :name => prop.param }
> -                      - for v in prop.values
> -                        %option= v
> -                    = prop.unit
> -                  - elsif prop.kind == :range
> -                    %input{ :type => :range, :value => prop.first, :min => prop.first, :max => prop.last, :name => prop.param}
> -                  - else
> -                    %input{ :name => prop.param, :size => 10, :value => "#{prop.default}" }
> -                    = prop.unit
> +            %label{ :for => profile.name, :onclick => "expandHWP('#{profile.name}');"}=profile.name
> +            %div{ :'data-role' => :fieldcontain, :id => "property_container_#{profile.name}", :class => 'hwp_properties'}
>  
>      - if !@realms.empty?
>        %div{ 'data-role' => :fieldcontain }