migrate editing project settings from project page from jrails to jquery

This commit is contained in:
Reinier Balt 2010-10-06 17:50:49 +02:00
parent c834403340
commit 6416ff112e
8 changed files with 884 additions and 66 deletions

View file

@ -2,7 +2,11 @@
project = project_form
%>
<%# form_remote_tag(:url => project_path(project), :html => { :id => dom_id(project, 'edit_form'), :class => "inline-form "+dom_id(project, 'edit_form')+"-edit-project-form", :method => :put }) do -%>
<% form_for(project, :html => {
:id => dom_id(project, 'edit_form'),
:class => "inline-form edit-project-form",
:method => :put }) do
-%>
<div id="error_status"><%= error_messages_for("project") %></div>
<%= source_view_tag( @source_view ) -%>
@ -39,6 +43,6 @@ project = project_form
</div>
</div>
<br/><br/>
<%# end -%>
<%
end
-%>

View file

@ -2,10 +2,4 @@ newHtml = "<%= escape_javascript(render(:partial => 'project_form', :locals => {
$('div#<%=dom_id(@project, 'edit')%>').html(newHtml);
$('div#<%=dom_id(@project)%>').hide();
$('div#<%=dom_id(@project, 'edit')%>').show();
$('input.project-name').focus();
<%#*page[dom_id(@project, 'edit')].replace_html :partial => 'project_form', :locals => { :project_form => @project }%>
<%#*page[@project].hide%>
<%#*page[dom_id(@project, 'edit')].show%>
<%#*page[dom_id(@project, 'edit_form')].find('input.project-name').focus%>

View file

@ -0,0 +1,69 @@
<% if @saved -%>
pageNotify('notice', '<%=t('projects.project_saved_status')%>', 5);
<% if source_view_is :project_list -%>
<% if @state_changed -%>
<% else -%>
<% end -%>
<% else # source_view must be :project %>
$('#<%=dom_id(@project, 'edit')%>').hide();
$('#<%=dom_id(@project, 'container')%>').html("<%= escape_javascript(render(:partial => 'project_settings', :locals => { :project => @project })) %> ");
$('#<%=dom_id(@project)%>').show();
$('input#todo_project_name').val("<%= escape_javascript(@project.name)%>");
<% if @project.default_context %>
$('input#todo_context_name').val("<%= escape_javascript(@project.default_context.name)%>");
$('input[name=default_context_name]').val('<%= escape_javascript(@project.default_context.name)%>');
<% end %>
<% if @project.default_tags %>
$('input#tag_list').val("<%= escape_javascript(@project.default_tags)%>");
<% end %>
<% end %>
$('#default_project_name_id').val('<%= escape_javascript(@project.name)%>');
$('input#todo_project_name').val("<%= escape_javascript(@project.name)%>");
$('#project_name').html("<%= escape_javascript(@project.name)%>");
$('#sidebar').html("<%= escape_javascript(render(:file => 'sidebar/sidebar.html.erb')) %>");
<% else -%>
$('div#error_status').html("<%= escape_javascript(error_messages_for('project')) %>");
$('div#error_status').show();
<% end %>
enable_rich_interaction();
<%# *page << "console.log(\"hello\");"%>
<%# *if @saved%>
<%# *status_message = 'Project saved'%>
<%# *page.notify :notice, status_message, 5.0%>
<%# *if source_view_is :project_list%>
<%# *if @state_changed%>
<%#*page[dom_id(@project, 'container')].remove%>
<%#*page.insert_html :bottom, "list-#{@project.state}-projects", :partial => 'project_listing', :object => @project%>
<%# *else%>
<%#*page.replace_html dom_id(@project, 'container'), :partial => 'project_listing', :object => @project%>
<%# *end%>
<%#*page.sortable "list-#{@project.state}-projects", get_listing_sortable_options("list-#{@project.state}-projects")%>
<%#*page.replace_html "active-projects-count", @active_projects_count%>
<%#*page.replace_html "hidden-projects-count", @hidden_projects_count%>
<%#*page.replace_html "completed-projects-count", @completed_projects_count%>
<%#*page.set_element_visible("list-hidden-projects-container", @hidden_projects_count > 0)%>
<%#*page.set_element_visible("list-active-projects-container", @active_projects_count > 0)%>
<%#*page.set_element_visible("list-completed-projects-container", @completed_projects_count > 0)%>
<%# *else%>
<%# *page[dom_id(@project, 'edit')].hide%>
<%# *page.replace_html dom_id(@project, 'container'), :partial => 'project_settings', :locals => { :project => @project }%>
<%# *page[dom_id(@project)].show%>
<%# *page['todo_context_name'].value = @project.default_context.name if @project.default_context%>
<%# *page['#todo_project_name'].value = @project.name%>
<%# *page['tag_list'].value = @project.default_tags if @project.default_tags%>
<%# *page << "$('input[name=default_context_name]').val('#{@project.default_context.name}');" if @project.default_context%>
<%# *end%>
<%# *page['default_project_name_id'].value = @project.name%>
<%# *page['todo_project_name'].value = @project.name%>
<%# *page.replace_html "project_name", @project.name%>
<%# *page.replace_html "sidebar", :file => 'sidebar/sidebar.html.erb'%>
<%# *else%>
<%# *page.show 'error_status'%>
<%# *page.replace_html 'error_status', "#{error_messages_for('project')}"%>
<%# *end%>
<%# *page << "enable_rich_interaction();"%>

View file

@ -1,39 +0,0 @@
if @saved
status_message = t('projects.project_saved_status')
page.notify :notice, status_message, 5.0
if source_view_is :project_list
if @state_changed
page[dom_id(@project, 'container')].remove
page.insert_html :bottom, "list-#{@project.state}-projects", :partial => 'project_listing', :object => @project
else
page.replace_html dom_id(@project, 'container'), :partial => 'project_listing', :object => @project
end
page.sortable "list-#{@project.state}-projects", get_listing_sortable_options("list-#{@project.state}-projects")
page.replace_html "active-projects-count", @active_projects_count
page.replace_html "hidden-projects-count", @hidden_projects_count
page.replace_html "completed-projects-count", @completed_projects_count
page.set_element_visible("list-hidden-projects-container", @hidden_projects_count > 0)
page.set_element_visible("list-active-projects-container", @active_projects_count > 0)
page.set_element_visible("list-completed-projects-container", @completed_projects_count > 0)
else
page[dom_id(@project, 'edit')].hide
page.replace_html dom_id(@project, 'container'), :partial => 'project_settings', :locals => { :project => @project }
page[dom_id(@project)].show
page['todo_context_name'].value = @project.default_context.name if @project.default_context
page['#todo_project_name'].value = @project.name
page['tag_list'].value = @project.default_tags if @project.default_tags
page << "$('input[name=default_context_name]').val('#{@project.default_context.name}');" if @project.default_context
end
page['default_project_name_id'].value = @project.name
page['todo_project_name'].value = @project.name
page.replace_html "project_name", @project.name
page.replace_html "sidebar", :file => 'sidebar/sidebar.html.erb'
else
page.show 'error_status'
page.replace_html 'error_status', "#{error_messages_for('project')}"
end
page << "enable_rich_interaction();"