From 24ef0ced325617e8a04530388ea21375c6904efb Mon Sep 17 00:00:00 2001 From: Reinier Balt Date: Sun, 13 Feb 2011 12:58:41 +0100 Subject: [PATCH] fix #1102 add spinner to autocomplete and... * get public/local variables correct for all js * get i18n string in toggle_star for todos Signed-off-by: Reinier Balt --- .../projects/update_default_context.js.rjs | 2 + app/views/projects/update_default_tags.js.rjs | 1 + app/views/projects/update_project_name.js.rjs | 1 + app/views/projects/update_status.js.rjs | 1 + app/views/recurring_todos/toggle_star.js.erb | 2 +- app/views/todos/toggle_star.js.erb | 8 +- config/locales/en.yml | 1 + public/images/ui-anim_basic_16x16.gif | Bin 0 -> 1459 bytes public/javascripts/application.js | 176 ++++++++---------- public/stylesheets/standard.css | 1 + 10 files changed, 94 insertions(+), 99 deletions(-) create mode 100644 public/images/ui-anim_basic_16x16.gif diff --git a/app/views/projects/update_default_context.js.rjs b/app/views/projects/update_default_context.js.rjs index 85f2513d..3a7d5dc9 100644 --- a/app/views/projects/update_default_context.js.rjs +++ b/app/views/projects/update_default_context.js.rjs @@ -1,3 +1,5 @@ +# TODO: is this DEAD code? + if @project.default_context.nil? page.notify :notice, t('projects.default_context_removed'), 5.0 else diff --git a/app/views/projects/update_default_tags.js.rjs b/app/views/projects/update_default_tags.js.rjs index 284c9c5d..2400a3a4 100644 --- a/app/views/projects/update_default_tags.js.rjs +++ b/app/views/projects/update_default_tags.js.rjs @@ -1,3 +1,4 @@ +# TODO: is this dead code? if @project.default_tags.nil? page.notify :notice, t('projects.default_tags_removed_notice'), 5.0 else diff --git a/app/views/projects/update_project_name.js.rjs b/app/views/projects/update_project_name.js.rjs index a9bf2d32..19738ee1 100644 --- a/app/views/projects/update_project_name.js.rjs +++ b/app/views/projects/update_project_name.js.rjs @@ -1,3 +1,4 @@ +#TODO: is this dead code? page['default_project_name_id'].value = @project.name page['todo_project_name'].value = @project.name diff --git a/app/views/projects/update_status.js.rjs b/app/views/projects/update_status.js.rjs index 28e04a1f..f2570dd4 100644 --- a/app/views/projects/update_status.js.rjs +++ b/app/views/projects/update_status.js.rjs @@ -1,3 +1,4 @@ +# TODO: is this dead code? page.select('#project_status .active span').each do |element| element.className = @project.current_state == :active ? 'active_state' : 'inactive_state' end diff --git a/app/views/recurring_todos/toggle_star.js.erb b/app/views/recurring_todos/toggle_star.js.erb index ff226546..85eb1d66 100644 --- a/app/views/recurring_todos/toggle_star.js.erb +++ b/app/views/recurring_todos/toggle_star.js.erb @@ -1,4 +1,4 @@ -<% if @saved -%> +<%- if @saved -%> $('div#recurring_todo_<%= @recurring_todo.id %> a.star_item img').toggleClass('starred_todo').toggleClass('unstarred_todo'); <%- else -%> TracksPages.page_notify('error', '<%= t('todos.error_starring_recurring', :description => @recurring_todo.description) %>', 8); diff --git a/app/views/todos/toggle_star.js.erb b/app/views/todos/toggle_star.js.erb index e760f8e2..9ec02520 100644 --- a/app/views/todos/toggle_star.js.erb +++ b/app/views/todos/toggle_star.js.erb @@ -1,5 +1,5 @@ -<% if @saved -%> +<%- if @saved -%> $('div#line_todo_<%= @todo.id %> a.star_item img').toggleClass('starred_todo').toggleClass('unstarred_todo'); -<% else -%> - TracksPages.page_notify('error', "Could not toggle the star of this todo", 5); -<% end -%> +<%- else -%> + TracksPages.page_notify('error', '<%= t('todos.error_starring', :description => @todo.description) %>', 8); +<%- end -%> diff --git a/config/locales/en.yml b/config/locales/en.yml index 28c1e8f6..7c0b38b8 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -394,6 +394,7 @@ en: action_saved_to_tickler: "Action saved to tickler" added_new_project: "Added new project" added_new_context: "Added new context" + error_starring: "Could not toggle the star of this todo \'%{description}\'" recurrence_completed: "There is no next action after the recurring action you just finished. The recurrence is completed" tagged_with: "tagged with ‘%{tag_name}’" no_actions_found: "No actions found" diff --git a/public/images/ui-anim_basic_16x16.gif b/public/images/ui-anim_basic_16x16.gif new file mode 100644 index 0000000000000000000000000000000000000000..084ecb879b9900663322beff5d735b8d225022b4 GIT binary patch literal 1459 zcmZvbdrVVz6vuzJ+)HoU3%#wi+;+%rOJ!vNECm#Gj}}^J8E6Zl6{jnTpiDO$I@rQo zTiy?~GG(CXplCvv5?;P#X-h%s-013tfTG3B1$AL$ZoZObE1D*1_V4c`=W{;4?>Wip zr1+)TIKaUJCb)3nLQ_*yOiaw=qF!qFketMoIjjxu+*ELIq3^F;|~!D}xJWooB?$cBKq{?z$?hNo|cNFAPo` zO&OTQC}y}+m@%P=WhA$rVnnh{7SX(PoVYv)TAFz|#t}bjGsZt@H(&cIJk_o%TK$P8 z&W+_ANA|oaG-UsCh~PsE`m$&m=VJlYpSd>1NRj}UnXH$GV0woD@cLQj6Rf^=McCnB zg+*<5$0ufhHcqTUQ*f2Fs7ya!*`Tg8=_L@pu5UEdC?Ry0lRXBRtnC}?^b)ls@VafK zO%*|@Ha-=PlK$X9<|fzB!opOt@XO$X`Jt~6aj!psv%Ex;MJIGlWF>?xz2uIpJiAKi zUU(I#D$IsD3p&`sc{@Nbp8*)XG|-*Sjba<3B*P`0w9?g%FRbS|WtQ;(0x-bSj(V~G z?4Y5JcE!V7`lxm!L-?}b+%G>94EO7IpV&3_4tR)Wogv4hEE$zEEmhH_5p^s$wHroE z_p-^!FhfOEG0*xDLq_h$1t?7264baJFYhw2^8Bu3sI^Uzy^-#PG;NcZMrou5t1a~!Fx&L zqTF*i=y!*63|dySwPRn6=THf65kfW}3iGuN^tGOo+2(TI1ubJI`x>N2qH}6(;WgLl z#tqoCOiY-u4SJrP5{p%@gmkIg(nPtn9%DBmp{~1FXHu%CKrikbOKtgyB*o)S8D6y^ zd?Z02c4RIuOX!iQ^4JKKth?L+w!SSv^kMTOXQ2;*||OP8`L)bqdZ6=hG3znjBdyouQC- z2{|0(#LB*c*Y@m8w%x8e$)!>@aePd#Gz1{;x;$GLm$RD-;+&E4OTfN^l#oYz+pl{9 ztGltv^dIhTL5CU(YkuB>N{G0Dv}w(IDcts{ZL`6#^nPt?i$=m{D23_}=zdLGKobnbKO&IVDbBU4*Z5%!iq zwd4gy;B|a{6z_Y3ZCGELzjfi*#NXQob_F!etMeQXTP?>q_esTGgPMt!lYSi3Dk%lV zFj`-5x050$NZ}(6i)}hQkYTlvY8Qp-Z!otT;M%|JB!Kwrq1mAuVh-s8J`2(Z^xnPt zR!4ECmU?MGIlsK8xxEj(F5}*c?K-Fx9TCTsJOoyoO->S0t0Ql}USDv~FFZ_3wlL+k zE`6{8Ds$jwATl0?qVdNe@X*G7G+tihnA%zLE@dA$P0U95A6u*S^xk5 literal 0 HcmV?d00001 diff --git a/public/javascripts/application.js b/public/javascripts/application.js index 827944e0..0b32a7e6 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -1,9 +1,9 @@ var TracksForm = { toggle: function(toggleLinkId, formContainerId, formId, hideLinkText, hideLinkTitle, showLinkText, showLinkTitle) { - form=$('#'+formContainerId) + var form=$('#'+formContainerId) form.toggle(); - toggleLink = $('#'+toggleLinkId); + var toggleLink = $('#'+toggleLinkId); if (!form.is(':visible')) { toggleLink.text(showLinkText).attr('title', showLinkTitle); } @@ -74,41 +74,6 @@ var TracksForm = { $(this).prev().val(''); }); - /* behavior for delete icon. DEAD CODE??? */ - $('.item-container a.delete_icon').live('click', function(evt){ - evt.preventDefault(); - params = {}; - if(typeof(TAG_NAME) !== 'undefined'){ - params._tag_name = TAG_NAME; - } - confirm_message = $(this).attr("x_confirm_message") - if(confirm(confirm_message)){ - itemContainer = $(this).parents(".item-container"); - itemContainer.block({ - message: null - }); - params._method = 'delete'; - $.post(this.href, params, function(){ - itemContainer.unblock(); - }, 'script'); - } - }); - - /* behavior for edit icon DEAD CODE???*/ - $('.item-container a.edit_icon').live('click', function(evt){ - evt.preventDefault(); - params = {}; - if(typeof(TAG_NAME) !== 'undefined'){ - params._tag_name = TAG_NAME; - } - itemContainer = $(this).parents(".item-container"); - $(this).effect('pulsate', { - times: 1 - }, 800); - $.get(this.href, params, function(){ - }, 'script'); - }); - /* submit todo form after entering new todo */ $("button#todo_new_action_submit").live('click', function (ev) { if (TodoItems.askIfNewContextProvided('', this)) @@ -156,7 +121,7 @@ var TracksPages = { Nifty("div#project_new_project_container","normal"); }, page_notify: function(type, message, fade_duration_in_sec) { - flash = $('h4#flash'); + var flash = $('h4#flash'); flash.html("

"+message+"

"); flash = $('h4#flash'); flash.show(); @@ -205,7 +170,7 @@ var TracksPages = { $(".alert").fadeOut(8000); /* for edit project form and edit todo form - * TODO: refactor to separate calls from project and todo */ +* TODO: refactor to separate calls from project and todo */ $('.edit-form a.negative').live('click', function(){ $(this).parents('.edit-form').fadeOut(200, function () { $(this).parents('.list').find('.project').fadeIn(500); @@ -253,10 +218,10 @@ var TodoItemsContainer = { setup_container_toggles: function(){ // bind handlers $('.container_toggle').click(function(evt){ - toggle_target = $(this.parentNode.parentNode).find('.toggle_target'); + var toggle_target = $(this.parentNode.parentNode).find('.toggle_target'); if(toggle_target.is(':visible')){ // hide it - imgSrc = $(this).find('img').attr('src'); + var imgSrc = $(this).find('img').attr('src'); $(this).find('img').attr('src', imgSrc.replace('collapse', 'expand')); $.cookie(TodoItemsContainer.buildCookieName(this.parentNode.parentNode), true); toggle_target.slideUp(500); @@ -272,7 +237,7 @@ var TodoItemsContainer = { // set to cookied state $('.container.context').each(function(){ if($.cookie(TodoItemsContainer.buildCookieName(this))=="true"){ - imgSrc = $(this).find('.container_toggle img').attr('src'); + var imgSrc = $(this).find('.container_toggle img').attr('src'); if (imgSrc) { $(this).find('.container_toggle img').attr('src', imgSrc.replace('collapse', 'expand')); $(this).find('.toggle_target').hide(); @@ -283,15 +248,15 @@ var TodoItemsContainer = { // private buildCookieName: function(containerElem) { - tracks_login = $.cookie('tracks_login'); + var tracks_login = $.cookie('tracks_login'); return 'tracks_'+tracks_login+'_context_' + containerElem.id + '_collapsed'; }, showContainer: function(containerElem) { - imgSrc = $(containerElem).find('.container_toggle img').attr('src'); + var imgSrc = $(containerElem).find('.container_toggle img').attr('src'); $(containerElem).find('.container_toggle img').attr('src', imgSrc.replace('expand', 'collapse')); }, hideContainer: function (containerElem) { - imgSrc = $(containerElem).find('.container_toggle img').attr('src'); + var imgSrc = $(containerElem).find('.container_toggle img').attr('src'); $(containerElem).find('.container_toggle img').attr('src', imgSrc.replace('collapse', 'expand')); } } @@ -299,7 +264,7 @@ var TodoItemsContainer = { var TodoItems = { getContextsForAutocomplete: function (term, element_to_block) { var allContexts = null; - params = default_ajax_options_for_scripts('GET', relative_to_root('contexts.autocomplete'), element_to_block); + var params = default_ajax_options_for_scripts('GET', relative_to_root('contexts.autocomplete'), element_to_block); params.data = "term="+term; params.dataType = "json"; params.async = false; @@ -313,10 +278,10 @@ var TodoItems = { var givenContextName = $('#'+source+'todo_context_name').val(); if (givenContextName.length == 0) return true; // do nothing and depend on rails validation error - contexts = TodoItems.getContextsForAutocomplete(givenContextName, element_to_block); + var contexts = TodoItems.getContextsForAutocomplete(givenContextName, element_to_block); if (contexts) { - for (i=0; i