gitlabhq/app/views/issues/index.html.haml
2012-06-04 01:37:27 +03:00

94 lines
3.3 KiB
Plaintext

= render "issues/head"
.issues_content
%h3
Issues
%small (#{@issues.total_count})
.right
.span5
- if can? current_user, :write_issue, @project
= link_to new_project_issue_path(@project), :class => "right btn small", :title => "New Issue", :remote => true do
New Issue
= form_tag search_project_issues_path(@project), :method => :get, :remote => true, :id => "issue_search_form", :class => :right do
= hidden_field_tag :project_id, @project.id, { :id => 'project_id' }
= hidden_field_tag :status, params[:f]
= search_field_tag :issue_search, nil, { :placeholder => 'Search', :class => 'issue_search span3 right neib' }
%br
%div#issues-table-holder.ui-box
.title
.row
.span6
%ul.nav.nav-pills.left
%li{:class => ("active" if (params[:f] == "0" || !params[:f]))}
= link_to project_issues_path(@project, :f => 0, :milestone_id => params[:milestone_id]) do
Open
%li{:class => ("active" if params[:f] == "2")}
= link_to project_issues_path(@project, :f => 2, :milestone_id => params[:milestone_id]) do
Closed
%li{:class => ("active" if params[:f] == "3")}
= link_to project_issues_path(@project, :f => 3, :milestone_id => params[:milestone_id]) do
To Me
%li{:class => ("active" if params[:f] == "1")}
= link_to project_issues_path(@project, :f => 1, :milestone_id => params[:milestone_id]) do
All
.span4.right
= form_tag project_issues_path(@project), :method => :get, :class => :right do
= select_tag(:milestone_id, options_from_collection_for_select(@project.milestones.order("id desc").all, "id", "title", params[:milestone_id]), :prompt => "Select milestone")
= hidden_field_tag :f, params[:f]
%ul#issues-table.unstyled
= render "issues"
:javascript
var href = $('.issue_search').parent().attr('action');
var last_terms = '';
$('.issue_search').keyup(function() {
var terms = $(this).val();
var project_id = $('#project_id').val();
var status = $('#status').val();
if (terms != last_terms) {
last_terms = terms;
if (terms.length >= 2 || terms.length == 0) {
$.get(href, { 'status': status, 'terms': terms, project: project_id }, function(response) {
$('#issues-table').html(response);
setSortable();
});
}
}
});
$('.delete-issue').live('ajax:success', function() {
$(this).closest('tr').fadeOut(); updatePage();});
function setSortable(){
$('#issues-table').sortable({
axis: 'y',
dropOnEmpty: false,
handle: '.avatar',
items: 'li',
opacity: 0.4,
scroll: true,
update: function(){
$.ajax({
type: 'post',
data: $('#issues-table').sortable('serialize'),
dataType: 'script',
complete: function(request){
$('#issues-table').effect('highlight');
},
url: "#{sort_project_issues_path(@project)}"})
}
});
}
$(function(){
setSortable();
$("#milestone_id").chosen();
$("#milestone_id").live("change", function(){
$(this).closest("form").submit();
});
});