OSDN Git Service

init
authorAkira Saito <akrstjp@users.sourceforge.jp>
Sun, 10 Aug 2014 15:37:29 +0000 (00:37 +0900)
committerAkira Saito <akrstjp@users.sourceforge.jp>
Sun, 10 Aug 2014 15:37:29 +0000 (00:37 +0900)
README.rdoc [new file with mode: 0644]
app/helpers/application_helper.rb [new file with mode: 0644]
app/views/hooks/_quick_view_context.erb [new file with mode: 0644]
config/locales/en.yml [new file with mode: 0644]
config/locales/ja.yml [new file with mode: 0644]
config/routes.rb [new file with mode: 0644]
hooks.rb [new file with mode: 0644]
init.rb [new file with mode: 0644]
test/test_helper.rb [new file with mode: 0644]

diff --git a/README.rdoc b/README.rdoc
new file mode 100644 (file)
index 0000000..1d6a01a
--- /dev/null
@@ -0,0 +1,16 @@
+= Quick View
+
+Plugin's features:
+- You can see a context menu to see the details of the issue.
+
+INSTALL:
+
+- Download the plugin to your plugins directory.
+
+  examples)
+  cd redmine/plugins/
+  git clone git://git.sourceforge.jp/gitroot/quickedit/quick_view.git
+
+- Restart your redmine.
+
+
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
new file mode 100644 (file)
index 0000000..19ff78f
--- /dev/null
@@ -0,0 +1,36 @@
+#coding: utf-8
+
+module ApplicationHelper
+   def quick_edit_link(caption, target_field, field_type, default_value, disabled)
+      help_message= l(:text_edit_confirm)
+
+      case field_type.to_s
+      when "string", "text"
+         pattern = ''
+      when "int"
+         pattern = '\d+'
+      when "date"
+         pattern = '\d{4}-\d{2}-\d{2}'
+         help_message += " (yyyy-mm-dd)"
+      end
+
+      pattern = h(pattern.gsub(/\\/,'\\\\\\\\'))
+
+      sprintf('<li>%s%s</li>',
+         context_menu_link(
+            h(caption),
+            "javascript:quick_edit_show_input_dialog('#{caption}', '#{target_field}', '#{pattern}', '#{help_message}', '#{default_value}')",
+            :class => 'icon-edit',
+            :disabled => disabled
+         ),
+         context_menu_link(
+            h(:dummy),
+            '#',
+            :id => 'context_edit_update_link_%s' % target_field.to_s().tr('[]','__'),
+            :style=>'display:none',
+            :method => :post,
+         )
+      ).html_safe()
+   end   
+end
+
diff --git a/app/views/hooks/_quick_view_context.erb b/app/views/hooks/_quick_view_context.erb
new file mode 100644 (file)
index 0000000..c43f0d5
--- /dev/null
@@ -0,0 +1,51 @@
+<%
+   custom_fields = @issues.map(&:available_custom_fields).reduce(:&).select do |f|
+     #concat f.field_format
+     %w(string date int).include?(f.field_format)
+   end
+
+   issue = @issues.first
+%>
+  <li><%= context_menu_link(
+            l(:button_quick_view),
+            "javascript:quick_view_show_dialog()",
+            :class => 'icon-show'
+         ) %></li>
+  <div id="quick_view_dialog" style="display:none; background-color: white;" title="Quick View - <%= issue.subject %>">
+     <div class="issue">
+     <div class="wiki">
+     <% if issue.description? %>
+     <%= textilizable issue, :description, :attachments => issue.attachments %>
+     <% else %>
+     <i>description is none.</i>
+     <% end %>
+     </div>
+     </div>
+  </div>
+
+<script>
+//<![CDATA[
+function quick_view_show_dialog() {
+  $("#quick_view_dialog").dialog({
+     modal: true,
+     closeOnEscape: false,
+     width: 800,
+     height: 480,
+     buttons: {
+        "close" : quick_view_dialog_cancel
+     },
+     close: quick_view_dialog_close
+  });
+}
+
+function quick_view_dialog_close(){
+  $("#quick_view_dialog").remove();
+}
+
+function quick_view_dialog_cancel(){
+  $("#quick_view_dialog").dialog("close");
+}
+
+//]]>
+</script>
diff --git a/config/locales/en.yml b/config/locales/en.yml
new file mode 100644 (file)
index 0000000..1c9e0cf
--- /dev/null
@@ -0,0 +1,8 @@
+# English strings go here for Rails i18n
+en:
+  label_quick_view: Quick View
+  project_module_quick_view: Quick View Plugin
+
+  button_quick_view: Quick View
+
+
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
new file mode 100644 (file)
index 0000000..15cc9bb
--- /dev/null
@@ -0,0 +1,6 @@
+# English strings go here for Rails i18n
+ja:
+  label_quick_view: Quick View
+  project_module_quick_view: Quick View Plugin
+
+  button_quick_view: Quick View
diff --git a/config/routes.rb b/config/routes.rb
new file mode 100644 (file)
index 0000000..1803173
--- /dev/null
@@ -0,0 +1,2 @@
+# Plugin's routes
+# See: http://guides.rubyonrails.org/routing.html
diff --git a/hooks.rb b/hooks.rb
new file mode 100644 (file)
index 0000000..9866a89
--- /dev/null
+++ b/hooks.rb
@@ -0,0 +1,5 @@
+#coding: utf-8
+
+class QuickViewHooks < Redmine::Hook::ViewListener
+       render_on :view_issues_context_menu_end, :partial=> 'hooks/quick_view_context'
+end
diff --git a/init.rb b/init.rb
new file mode 100644 (file)
index 0000000..bcd6f16
--- /dev/null
+++ b/init.rb
@@ -0,0 +1,11 @@
+#coding: utf-8
+
+require_dependency File.expand_path('../app/helpers/application_helper.rb', __FILE__)
+require_dependency File.expand_path('../hooks', __FILE__)
+
+Redmine::Plugin.register :quick_view do
+  name 'Quick View plugin'
+  author 'Akira Saito'
+  description 'This is a plugin for Redmine'
+  version '0.0.1'
+end
diff --git a/test/test_helper.rb b/test/test_helper.rb
new file mode 100644 (file)
index 0000000..54685d3
--- /dev/null
@@ -0,0 +1,2 @@
+# Load the Redmine helper
+require File.expand_path(File.dirname(__FILE__) + '/../../../test/test_helper')