OSDN Git Service

add date picker to input field
authorAkira Saito <akrstjp@users.sourceforge.jp>
Sun, 17 Aug 2014 12:52:07 +0000 (21:52 +0900)
committerAkira Saito <akrstjp@users.sourceforge.jp>
Sun, 17 Aug 2014 12:52:07 +0000 (21:52 +0900)
app/helpers/application_helper.rb
app/views/hooks/_context.erb

index 19ff78f..a033fce 100644 (file)
@@ -1,7 +1,7 @@
 #coding: utf-8
 
 module ApplicationHelper
-   def quick_edit_link(caption, target_field, field_type, default_value, disabled)
+   def quick_edit_link_to(caption, target_field, field_type, default_value, disabled)
       help_message= l(:text_edit_confirm)
 
       case field_type.to_s
@@ -19,7 +19,7 @@ module ApplicationHelper
       sprintf('<li>%s%s</li>',
          context_menu_link(
             h(caption),
-            "javascript:quick_edit_show_input_dialog('#{caption}', '#{target_field}', '#{pattern}', '#{help_message}', '#{default_value}')",
+            "javascript:quick_edit_show_input_dialog('#{caption}', '#{target_field}', '#{field_type}', '#{pattern}', '#{help_message}', '#{default_value}')",
             :class => 'icon-edit',
             :disabled => disabled
          ),
index ac799bc..2f472ff 100644 (file)
@@ -1,4 +1,5 @@
 <%
+   extend ApplicationHelper
    custom_fields = @issues.map(&:available_custom_fields).reduce(:&).select do |f|
      #concat f.field_format
      %w(string date int).include?(f.field_format)
   <li class="folder">
     <a href="#" class="submenu"><%= l(:button_quick_edit) %></a>
     <ul>
-      <%= quick_edit_link(l(:field_subject), :subject, :string, first_issue.subject, !@can[:update]) %>
-      <%= quick_edit_link(l(:field_parent_issue), :parent_issue_id, :int, first_issue.parent_id, !@can[:update]) %>
+      <%= quick_edit_link_to(l(:field_subject), :subject, :string, first_issue.subject, !@can[:update]) %>
+      <%= quick_edit_link_to(l(:field_parent_issue), :parent_issue_id, :int, first_issue.parent_id, !@can[:update]) %>
 
 
       <% unless @issues.any? {|issue| issue.disabled_core_fields.include?('start_date') } %>
-      <%= quick_edit_link(l(:field_start_date), :start_date, :date, first_issue.start_date, !@can[:update]) %>
+      <%= quick_edit_link_to(l(:field_start_date), :start_date, :date, first_issue.start_date, !@can[:update]) %>
       <% end %>
 
       <% unless @issues.any? {|issue| issue.disabled_core_fields.include?('due_date') } %>
-      <%= quick_edit_link(l(:field_due_date), :due_date, :date, first_issue.due_date, !@can[:update]) %>
+      <%= quick_edit_link_to(l(:field_due_date), :due_date, :date, first_issue.due_date, !@can[:update]) %>
       <% end %>
 
       <% custom_fields.each do |f| %>
-      <%= quick_edit_link(f.name, 'custom_field_values[%d]' % f.id, f.field_format, first_issue.custom_field_values[f.id], !@can[:update]) %>
+      <%= quick_edit_link_to(f.name, 'custom_field_values[%d]' % f.id, f.field_format, first_issue.custom_field_values[f.id], !@can[:update]) %>
       <% end %>
    </ul>
   </li>
   <div id="quick_edit_input_dialog" style="display:none;" title="Quick Edit">
      <p id="quick_edit_input_dialog_message"></p>
      <form>
-        <input id="quick_edit_input_dialog_new_value" type="text" size="50"></input>
+        <input id="quick_edit_input_dialog_new_value" type="text" size="40" style="vertical-align:middle;"></input>
+        <%= calendar_for('quick_edit_input_dialog_new_value') %>
         <input id="quick_edit_input_dialog_target" type="hidden"></input>
         <input id="quick_edit_input_dialog_pattern" type="hidden"></input>
         <input id="quick_edit_input_dialog_dummy" type="text" style="display:none"></input>
@@ -38,7 +40,7 @@
 
 <script>
 //<![CDATA[
-function quick_edit_show_input_dialog(field_name,target,pattern,message,default_value){
+function quick_edit_show_input_dialog(field_name,target,field_type,pattern,message,default_value){
   if (default_value) {
      $("#quick_edit_input_dialog_new_value").val(default_value);
   }