Skip to content

Commit

Permalink
[webui] render the packages list with javascript from json array
Browse files Browse the repository at this point in the history
  • Loading branch information
coolo committed Oct 11, 2012
1 parent 2012961 commit bab6a03
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 22 deletions.
2 changes: 1 addition & 1 deletion src/activexml/transport.rb
Expand Up @@ -537,7 +537,7 @@ def http_do( method, url, opt={} )
end
payload[:all] = (Time.now - start) * 1000
self.details.add(payload)
logger.debug "RT #{payload.inspect}"
logger.debug "RT #{url} #{payload.inspect}"
end
end

Expand Down
1 change: 1 addition & 0 deletions src/webui/app/assets/javascripts/application.js
Expand Up @@ -23,6 +23,7 @@
//= require bento/global-navigation.js
//= require bento/l10n/global-navigation-data-en_US.js
//= require package
//= require project

// toggle visibility of an element via the CSS "display" property
// -> does NOT reserve the needed space for the element when not displayed
Expand Down
17 changes: 17 additions & 0 deletions src/webui/app/assets/javascripts/project.js
@@ -0,0 +1,17 @@
function renderPackagesTable(packages)
{
var packageurl = $("#packages_table_wrapper").data("url");
$("#packages_table_wrapper").html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="packages_table"></table>' );
$("#packages_table").dataTable( {"aaData": packages,
"iDisplayLength": 10,
"bSort": false,
"bPaginate": packages.length > 12,
"aoColumns": [
{
"fnRender": function ( obj ) {
var url = packageurl.replace(/REPLACEIT/, obj.aData);
return '<a href="' + url +'">' + obj.aData + '</a>';
}
} ]
});
}
30 changes: 9 additions & 21 deletions src/webui/app/views/project/show.html.erb
Expand Up @@ -160,18 +160,15 @@
<div class="grid_10 alpha box box-shadow">
<h2 class="box-header">Packages (<%= @packages.length %>)</h2>
<% if @packages.length > 0 %>
<table id="packages_table">
<thead>
<tr><th class="hidden">Name</th></tr>
</thead>
<tbody>
<% @packages.each do |package| %>
<tr>
<td><%= link_to(package, :controller => 'package', :action => 'show', :project => @project, :package => package) %></td>
</tr>
<% end %>
</tbody>
</table>
<div id="packages_table_wrapper" data-url="<%= url_for(:controller =>
'package', :action => 'show', :project => @project, :package =>
'REPLACEIT') %>">
<% content_for :ready_function do %>
var packages = [ <%= @packages.map {|p| "['#{p}']"
}.join(',').html_safe %> ];
renderPackagesTable(packages);
<% end %>
</div>
<% else %>
<p><i>This project does not contain any packages</i></p>
<% end %>
Expand All @@ -193,12 +190,3 @@
</div>
<% end %>

<% if @packages.length > 0 %>
<%= javascript_tag do %>
$(document).ready(function() {
$('#packages_table').dataTable({
"bSort": false,
});
});
<% end %>
<% end %>

0 comments on commit bab6a03

Please sign in to comment.