[PATCH conductor 2/7] Mustachifying pools/_deployments

ifarkas at redhat.com ifarkas at redhat.com
Thu May 17 14:12:16 UTC 2012


From: Imre Farkas <ifarkas at redhat.com>

---
 src/app/helpers/mustache_helper.rb                 |    2 +-
 .../deployments/_deployment_card.html.mustache     |   33 -----------------
 .../_deployment_card_index.html.mustache           |   18 +++++++++
 .../_deployment_card_show.html.mustache            |   33 +++++++++++++++++
 src/app/views/deployments/_pretty_view.html.haml   |    4 +-
 src/app/views/pools/_deployments.html.haml         |   37 ++------------------
 src/public/javascripts/backbone/views.js           |   12 ++++--
 7 files changed, 65 insertions(+), 74 deletions(-)
 delete mode 100644 src/app/views/deployments/_deployment_card.html.mustache
 create mode 100644 src/app/views/deployments/_deployment_card_index.html.mustache
 create mode 100644 src/app/views/deployments/_deployment_card_show.html.mustache

diff --git a/src/app/helpers/mustache_helper.rb b/src/app/helpers/mustache_helper.rb
index eed0223..cc3670a 100644
--- a/src/app/helpers/mustache_helper.rb
+++ b/src/app/helpers/mustache_helper.rb
@@ -47,7 +47,7 @@ module MustacheHelper
       :name                 => deployment.name,
       :path                 => deployment_path(deployment),
       :filter_view_path     => deployment_path(deployment, :view => :filter),
-      :status               => deployment.state,
+      :state                => deployment.state,
       :translated_state     => I18n.t("deployments.status_description.#{deployment.state}"),
       :uptime               => count_uptime(deployment.uptime_1st_instance),
       :deployable_xml_name  => deployment.deployable_xml.name,
diff --git a/src/app/views/deployments/_deployment_card.html.mustache b/src/app/views/deployments/_deployment_card.html.mustache
deleted file mode 100644
index f7b0926..0000000
--- a/src/app/views/deployments/_deployment_card.html.mustache
+++ /dev/null
@@ -1,33 +0,0 @@
-<li class="deployment">
-  <h3 class="name">
-    <%= link_to('{{name}}', '{{path}}') %>
-  </h3>
-  <span title="{{translated_state}}" class="status {{status}}">alma</span>
-  <dl class="statistics">
-    <ul>
-      <li class="uptime">
-        <dt class="uptime"><%= t('uptime') %></dt>
-        <dd>{{uptime}}</dd>
-      </li>
-      <li class="instances">
-        <dt class="instances count"><%= t('instances.instances.other') %></dt>
-        <dd>
-          {{instances_count}}
-          <span class="inline-label">{{instances_count_text}}</span>
-        </dd>
-      </li>
-      <li class="provider">
-        <dt class="instances count"><%= t('providers.provider') %></dt>
-        <dd>
-          <p class="provider">
-            {{#provider}}
-              {{#provider_type}}
-                {{name}}
-              {{/provider_type}}
-            {{/provider}}
-          </p>
-        </dd>
-      </li>
-    </ul>
-  </dl>
-</li>
diff --git a/src/app/views/deployments/_deployment_card_index.html.mustache b/src/app/views/deployments/_deployment_card_index.html.mustache
new file mode 100644
index 0000000..875cf95
--- /dev/null
+++ b/src/app/views/deployments/_deployment_card_index.html.mustache
@@ -0,0 +1,18 @@
+<li class="deployment">
+  <h3 class="name">
+    <a href="{{path}}">{{name}}</a>
+  </h3>
+  <span class="status {{state}}" title="${translated_state}">{{state}}</span>
+  <dl class="statistics">
+    <ul>
+      <li class="right">
+        <dt class="instances count"><%= t('instances.instances.other') %></dt>
+        <dd>{{instances_count}}</dd>
+      </li>
+      <li class="left">
+        <dt><%= t('uptime') %></dt>
+        <dd>{{uptime}}</dd>
+      </li>
+    </ul>
+  </dl>
+</li>
diff --git a/src/app/views/deployments/_deployment_card_show.html.mustache b/src/app/views/deployments/_deployment_card_show.html.mustache
new file mode 100644
index 0000000..0f36ee1
--- /dev/null
+++ b/src/app/views/deployments/_deployment_card_show.html.mustache
@@ -0,0 +1,33 @@
+<li class="deployment">
+  <h3 class="name">
+    <%= link_to('{{name}}', '{{path}}') %>
+  </h3>
+  <span title="{{translated_state}}" class="status {{state}}">alma</span>
+  <dl class="statistics">
+    <ul>
+      <li class="uptime">
+        <dt class="uptime"><%= t('uptime') %></dt>
+        <dd>{{uptime}}</dd>
+      </li>
+      <li class="instances">
+        <dt class="instances count"><%= t('instances.instances.other') %></dt>
+        <dd>
+          {{instances_count}}
+          <span class="inline-label">{{instances_count_text}}</span>
+        </dd>
+      </li>
+      <li class="provider">
+        <dt class="instances count"><%= t('providers.provider') %></dt>
+        <dd>
+          <p class="provider">
+            {{#provider}}
+              {{#provider_type}}
+                {{name}}
+              {{/provider_type}}
+            {{/provider}}
+          </p>
+        </dd>
+      </li>
+    </ul>
+  </dl>
+</li>
diff --git a/src/app/views/deployments/_pretty_view.html.haml b/src/app/views/deployments/_pretty_view.html.haml
index 2f5e6f7..9b2ad91 100644
--- a/src/app/views/deployments/_pretty_view.html.haml
+++ b/src/app/views/deployments/_pretty_view.html.haml
@@ -2,7 +2,7 @@
   - @deployments.in_groups_of(5, false) do |group|
     %ul.deployment-array.large
       - group.each do |deployment|
-        = render :partial => 'deployments/deployment_card', :mustache => deployment_for_mustache(deployment)
+        = render :partial => 'deployments/deployment_card_show', :mustache => deployment_for_mustache(deployment)
 
 = render_pagination(@deployments)
 
@@ -12,4 +12,4 @@
             '#{url_for(:action => :show, :details_tab => 'deployments', :view => 'pretty', :page => params[:page] )}');
 
 %script#deploymentCardTemplate{ :type => 'text/html' }
-  = render :partial => 'deployments/deployment_card'
+  = render :partial => 'deployments/deployment_card_show'
diff --git a/src/app/views/pools/_deployments.html.haml b/src/app/views/pools/_deployments.html.haml
index c535f93..369fe76 100644
--- a/src/app/views/pools/_deployments.html.haml
+++ b/src/app/views/pools/_deployments.html.haml
@@ -2,38 +2,7 @@
   - deployments.in_groups_of(5, false) do |group|
     %ul.deployment-array.small
       - group.each do |deployment|
-        %li.deployment
-          %h3.name
-            = link_to deployment.name, deployment_path(deployment)
-          %span{ :class => "status #{deployment.state}", :title => t("deployments.status_description.#{deployment.state}")}
-            = deployment.state
-          %dl.statistics
-            %ul
-              %li.right
-                %dt.instances.count= t 'instances.instances.other'
-                %dd= deployment.instances.size || 0
+        = render :partial => 'deployments/deployment_card_index', :mustache => deployment_for_mustache(deployment)
 
-              %li.left
-                %dt=t :uptime
-                %dd= count_uptime(deployment.uptime_1st_instance)
-
-%script#deploymentPrettyTemplate{ :type => 'text/x-jquery-tmpl' }
-  :plain
-    <li class="deployment">
-      <h3 class="name">
-        <a href="#{deployment_path('replace_id').sub('replace_id', '${id}')}">${name}</a>
-      </h3>
-      <span class="status ${status}" title="${status_description}">${status}</span>
-      <dl class="statistics">
-        <ul>
-          <li class="right">
-            <dt class="instances count">#{t 'instances.instances.other'}</dt>
-            <dd>${instances_count}</dd>
-          </li>
-          <li class="left">
-            <dt>#{t :uptime}</dt>
-            <dd>${uptime}</dd>
-          </li>
-        </ul>
-      </dl>
-    </li>
+%script#deploymentCardTemplate{ :type => 'text/html' }
+  = render :partial => 'deployments/deployment_card_index'
diff --git a/src/public/javascripts/backbone/views.js b/src/public/javascripts/backbone/views.js
index 0231673..2d88c9d 100644
--- a/src/public/javascripts/backbone/views.js
+++ b/src/public/javascripts/backbone/views.js
@@ -37,7 +37,7 @@ Conductor.Views.PoolsIndex = Backbone.View.extend({
       }
     }
     else if (this.currentView() == 'pretty') {
-      return $('#deploymentPrettyTemplate');
+      return $('#deploymentCardTemplate');
     }
   },
 
@@ -94,9 +94,13 @@ Conductor.Views.PoolsIndex = Backbone.View.extend({
           return attributes.pool.id == poolId;
         });
         for(var i = 0; i < poolDeployments.length; i += cardsPerRow) {
-          var $row = this.make('ul',
-            {'class': 'deployment-array small'},
-            $template.tmpl(poolDeployments.slice(i, i + cardsPerRow)));
+
+          var deplyomentCarsHtml = '';
+          $.each(poolDeployments.slice(i, i + cardsPerRow), function(deploymentIndex, deployment) {
+            deplyomentCarsHtml += Mustache.to_html($template.html(), deployment);
+          });
+
+          var $row = this.make('ul', {'class': 'deployment-array small'}, deplyomentCarsHtml);
           $rows.append($row);
         }
       }
-- 
1.7.6.5




More information about the aeolus-devel mailing list