From 26cd345cbef13fafa09072d453664b3aa73981ec Mon Sep 17 00:00:00 2001 From: Reinier Balt Date: Wed, 14 Jul 2010 13:34:30 +0200 Subject: [PATCH] add form for multiple actions --- app/views/shared/_add_new_item_form.rhtml | 42 +++++++++++++++++++++-- public/javascripts/application.js | 31 +++++++++++++---- public/stylesheets/standard.css | 2 +- 3 files changed, 65 insertions(+), 10 deletions(-) diff --git a/app/views/shared/_add_new_item_form.rhtml b/app/views/shared/_add_new_item_form.rhtml index 426f5806..dbd801e6 100644 --- a/app/views/shared/_add_new_item_form.rhtml +++ b/app/views/shared/_add_new_item_form.rhtml @@ -7,8 +7,9 @@ -%>
-
- « Hide form +
@@ -28,11 +29,13 @@ <%= text_area( "todo", "notes", "cols" => 29, "rows" => 6, "tabindex" => 2) %> + + @@ -63,6 +66,39 @@
- <% end -%> + + <% end # form-remote-tag -%>
+ + + diff --git a/public/javascripts/application.js b/public/javascripts/application.js index 30d836f5..67d9d633 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -1,17 +1,17 @@ var TracksForm = { - toggle: function(toggleDivId, formContainerId, formId, hideLinkText, + toggle: function(toggleLinkId, formContainerId, formId, hideLinkText, hideLinkTitle, showLinkText, showLinkTitle) { - $('#'+formContainerId).toggle(); - toggleDiv = $('#'+toggleDivId); - toggleLink = toggleDiv.find('a'); - if (toggleDiv.hasClass('hide_form')) { + form=$('#'+formContainerId) + form.toggle(); + toggleLink = $('#'+toggleLinkId); + if (!form.is(':visible')) { toggleLink.text(showLinkText).attr('title', showLinkTitle); } else { toggleLink.text(hideLinkText).attr('title', hideLinkTitle); $('#'+formId+' input:text:first').focus(); } - toggleDiv.toggleClass('hide_form'); + toggleLink.parent.toggleClass('hide_form'); }, hide_all_recurring: function () { $.each(['daily', 'weekly', 'monthly', 'yearly'], function(){ @@ -373,11 +373,30 @@ $(document).ready(function() { setup_container_toggles(); $('#toggle_action_new').click(function(){ + if ($("#todo_multi_add").is(':visible')) { /* hide multi next action form first */ + $('#todo_new_action').show(); + $('#todo_multi_add').hide(); + $('a#toggle_multi').text("Add multiple next actions"); + } + TracksForm.toggle('toggle_action_new', 'todo_new_action', 'todo-form-new-action', '« Hide form', 'Hide next action form', 'Add a next action »', 'Add a next action'); }); + $('#toggle_multi').click(function(){ + if ($("#todo_multi_add").is(':visible')) { + $('#todo_new_action').show(); + $('#todo_multi_add').hide(); + $('a#toggle_multi').text("Add multiple next actions"); + } else { + $('#todo_new_action').hide(); + $('#todo_multi_add').show(); + $('a#toggle_multi').text("Add single next action"); + $('a#toggle_action_new').text('« Hide form'); + } + }); + $('.edit-form a.negative').live('click', function(){ $(this).parents('.container').find('.item-show').show(); $(this).parents('.container').find('.project').show(); diff --git a/public/stylesheets/standard.css b/public/stylesheets/standard.css index 069a6ce0..d588fbfe 100644 --- a/public/stylesheets/standard.css +++ b/public/stylesheets/standard.css @@ -825,7 +825,7 @@ input#go_to_project, input#context_hide { float: right; } -#todo-form-new-action .submit_box, #project_form .submit_box, #context_form .submit_box { +#todo-form-new-action .submit_box, #project_form .submit_box, #context_form .submit_box, #todo-form-multi-new-acion .submit_box { height: 25px; padding: 5px 0; text-align: center;