tracks/app/views/todos/create.js.erb
Reinier Balt 3faac2514d fix failing test and finish all wip scenarios
Signed-off-by: Reinier Balt <lrbalt@gmail.com>
2011-05-08 22:09:27 +02:00

67 lines
No EOL
2.5 KiB
Text

<% if @saved -%>
TracksPages.page_notify('notice', "<%=escape_javascript @status_message%>", 8);
TracksPages.hide_errors();
TracksPages.set_page_badge(<%= @down_count %>);
<% if should_show_new_item -%>
<% if should_add_new_context -%>
insert_new_context_with_new_todo();
<% else -%>
add_todo_to_existing_context();
<% end -%>
<% end -%>
update_predecessors();
clear_form();
<% else -%>
TracksPages.show_errors(html_for_error_messages());
<% end -%>
function clear_form() {
$('#todo-form-new-action').clearForm();
$('#todo-form-new-action').clearDeps();
TracksForm.set_context_name('<%=escape_javascript @initial_context_name%>');
TracksForm.set_project_name('<%=escape_javascript @initial_project_name%>');
TracksForm.set_tag_list('<%=escape_javascript @default_tags%>');
$('#todo-form-new-action input:text:first').focus();
}
function insert_new_context_with_new_todo() {
<%-
empty_id = '#no_todos_in_view'
empty_id = '#tickler-empty-nd' if source_view_is :tickler
-%>
$('<%=empty_id%>').slideUp(100);
$('#display_box').prepend(html_for_new_context());
}
function add_todo_to_existing_context() {
<% if source_view_is_one_of(:todo, :deferred, :tag) -%>
<% unless source_view_is_one_of(:todo, :tag) && @todo.deferred? -%>
$('#c<%= @todo.context_id %>').fadeIn(500, function() {});
$('#no_todos_in_view').slideUp(100);
<%= "$('#tickler-empty-nd').slideUp(100);" if source_view_is(:deferred) && @todo.deferred? %>
<% end -%>
<% end -%>
$('#<%=empty_container_msg_div_id%>').hide();
$('#<%=item_container_id(@todo)%>').append(html_for_new_todo());
$('#<%= dom_id(@todo)%>').effect('highlight', {}, 2000 );
}
function update_predecessors() {
<% @todo.uncompleted_predecessors.each do |p| -%>
if ($('<%=item_container_id(p)%>')) {
$('#<%=dom_id(p)%>').html('<%= escape_javascript(render(:partial => p, :locals => { :parent_container_type => parent_container_type, :source_view => @source_view }))%>');
}
<% end -%>
}
function html_for_error_messages() {
return "<%= escape_javascript(error_messages_for('todo', :object_name => 'action')) %>";
}
function html_for_new_context() {
return "<%= @saved && @new_context_created ? escape_javascript(render(:partial => @todo.context, :locals => { :collapsible => true })) : "" %>";
}
function html_for_new_todo() {
return "<%= @saved ? escape_javascript(render(:partial => @todo, :locals => { :parent_container_type => parent_container_type, :source_view => @source_view })) : "" %>";
}