Fixes up table layout, adds links where appropriate, enables i18n
support for headings, and generally renders tables usable.
---
src/app/stylesheets/layout.scss | 9 +++++
src/app/views/deployments/_filter_view.haml | 39 ++++++++++++++++++----
src/app/views/pools/_list.haml | 47 +++++++++++++++------------
src/config/locales/en.yml | 4 ++
src/public/javascripts/application.js | 10 ++++++
5 files changed, 81 insertions(+), 28 deletions(-)
diff --git a/src/app/stylesheets/layout.scss b/src/app/stylesheets/layout.scss
index a50d82f..2c4628d 100644
--- a/src/app/stylesheets/layout.scss
+++ b/src/app/stylesheets/layout.scss
@@ -164,9 +164,18 @@ table {
border-spacing: 0;
}
+thead {
+ background: #eee;
+}
+
+th {
+ padding-left: 10px;
+}
+
th,
td,
caption {
+ padding-left: 10px;
font-weight: normal;
vertical-align: top;
text-align: left;
diff --git a/src/app/views/deployments/_filter_view.haml
b/src/app/views/deployments/_filter_view.haml
index ad3f1b2..cebbb9d 100644
--- a/src/app/views/deployments/_filter_view.haml
+++ b/src/app/views/deployments/_filter_view.haml
@@ -1,18 +1,43 @@
- form_tag do
- %table
- -# FIXME: sortable_table_header won't actually work as-is since it sorts on
Pools, not Deployments...
- -# TODO: There are no defined actions for the checkboxes yet; they'll go here
- = sortable_table_header(@deployments_header)
+ %p
+ Viewing
+ = select_tag("select_deployments", "<option>All
deployments</option>",:disabled => true)
+ = deployments.count.to_s + " results"
+ = text_field_tag :q, @search_term || "Search result for...", :disabled
=> true
+ = link_to('Filters', '#')
+ %p
+ = link_to('Share this view', '#')
+ = link_to('Add/Remove Columns', '#')
+ %table#columns_table
+ %thead
+ %tr
+ %th
+ = check_box_tag 'check_all_toggle'
+ %th
+ -#there will be icons (belongs to mockups)
+ %th
+ = t('deployments.deployment_name')
+ %th
+ = t('deployables.index.base_deployable')
+ %th
+ = t('uptime')
+ %th
+ = t('instances.instances')
+ %th
+ = t('providers.provider')
- deployments.each do |deployment|
%tr
%td
%input{:name => "deployment_selected[]", :type =>
"checkbox", :value => deployment.id, :id =>
"deployment_checkbox_#{deployment.id}" }
- = deployment.name
%td
- = deployment.deployable.name
+ -#there will be icons (belongs to mockups)
+ %td
+ = link_to(deployment.name, deployment)
+ %td
+ = link_to(deployment.deployable.name, deployment.deployable)
%td
= count_uptime(deployment.created_at)
%td
= deployment.instances.count
%td
- = deployment.provider.provider_type.name if deployment.provider
\ No newline at end of file
+ = link_to(deployment.provider.provider_type.name, deployment.provider) if
deployment.provider
diff --git a/src/app/views/pools/_list.haml b/src/app/views/pools/_list.haml
index 3c7e1b8..1f8880e 100644
--- a/src/app/views/pools/_list.haml
+++ b/src/app/views/pools/_list.haml
@@ -7,26 +7,31 @@
= select_tag("select_pools", "<option>All
pools</option>",:disabled => true)
= @pools.count.to_s + " results"
= text_field_tag :q, @search_term || "Search result for...", :disabled
=> true
+ = link_to('Filters', '#')
+ %p
+ = link_to('Share this view', '#')
+ = link_to('Add/Remove Columns', '#')
%table#pools_table
- %tr
- %th
- = check_box_tag "all"
- %th
- -#there will be icons (belongs to mockups)
- %th
- = t("pools.index.pool_name")
- %th
- = t("deployments.deployments")
- %th
- = t("instances.instances")
- %th
- = t("pools.index.pending")
- %th
- = t("pools.index.failed")
- %th
- = t("pools.index.quota_used")
- %th
- = t("pools.index.pool_family")
+ %thead
+ %tr
+ %th
+ = check_box_tag 'check_all_toggle'
+ %th
+ -#there will be icons (belongs to mockups)
+ %th
+ = t("pools.index.pool_name")
+ %th
+ = t("deployments.deployments")
+ %th
+ = t("instances.instances")
+ %th
+ = t("pools.index.pending")
+ %th
+ = t("pools.index.failed")
+ %th
+ = t("pools.index.quota_used")
+ %th
+ = t("pools.index.pool_family")
- @pools.each do |pool|
%tr
%td
@@ -34,7 +39,7 @@
%td
-#there will be icons (belongs to mockups)
%td
- = pool.name
+ = link_to(pool.name, pool)
%td
= pool.deployments.count
%td
@@ -46,7 +51,7 @@
%td
= pool.quota ? pool.quota.percentage_used.to_s + "%":
'unlimited'
%td
- = pool.pool_family.name
+ = link_to(pool.pool_family.name, pool.pool_family)
:javascript
$(document).ready(function () {
diff --git a/src/config/locales/en.yml b/src/config/locales/en.yml
index 77f72b2..4926f4e 100644
--- a/src/config/locales/en.yml
+++ b/src/config/locales/en.yml
@@ -71,6 +71,7 @@ en:
updates: Udates
deployments:
deployments: Deployments
+ deployment_name: Deployment Name
updated:
one: "The deployment %{list} was successfully updated."
other: "The deployments %{list} were successfully updated."
@@ -142,6 +143,7 @@ en:
deployables:
index:
deployables: Deployables
+ base_deployable: Base Deployable
deleted:
one: "Deployable %{list} was deleted."
other: "Deployables %{list} were deleted."
@@ -173,6 +175,7 @@ en:
quota: Quota
account: Account
providers:
+ provider: Provider
providers: Providers
form:
provider_name: Provider Name
@@ -208,3 +211,4 @@ en:
account_number: AWS Account ID
account_private_cert: EC2 x509 private key
account_public_cert: EC2 x509 public key
+ uptime: Uptime
\ No newline at end of file
diff --git a/src/public/javascripts/application.js
b/src/public/javascripts/application.js
index 33c2be5..5a7b39d 100644
--- a/src/public/javascripts/application.js
+++ b/src/public/javascripts/application.js
@@ -96,6 +96,15 @@ var Conductor = {
}, "script");
return false;
});
+ },
+
+ bind_select_all_toggle: function() {
+ $('#check_all_toggle').click(function(){
+ var selected = $('#check_all_toggle').attr('checked');
+ $(this).parents('form').find(':checkbox').each(function(){
+ $(this).attr('checked', selected);
+ });
+ });
}
};
@@ -186,4 +195,5 @@ $(document).ready(function () {
Conductor.enhanceListView();
Conductor.enhanceDetailsTabs();
Conductor.bind_pretty_toggle();
+ Conductor.bind_select_all_toggle();
});
\ No newline at end of file
--
1.7.4.4