OSDN Git Service

implement(in progress): WorkTime plug-in extension. refs #1362 (http://www.r-labs...
authorAkira Saito <akrstjp@users.sourceforge.jp>
Sun, 22 Mar 2015 16:52:20 +0000 (01:52 +0900)
committerAkira Saito <akrstjp@users.sourceforge.jp>
Sun, 22 Mar 2015 16:52:20 +0000 (01:52 +0900)
app/views/hooks/_quick_view_issues_footer_worktime_ext.html.erb [new file with mode: 0644]

diff --git a/app/views/hooks/_quick_view_issues_footer_worktime_ext.html.erb b/app/views/hooks/_quick_view_issues_footer_worktime_ext.html.erb
new file mode 100644 (file)
index 0000000..88b7870
--- /dev/null
@@ -0,0 +1,54 @@
+<script>
+//<![CDATA[
+<% if Setting.plugin_quick_view['worktime_ext_enabled'] %>
+if ($("body").hasClass("controller-work_time")) {
+  quick_view_work_time_extension_init();
+  $(document).ajaxComplete(quick_view_work_time_extension_init);
+
+  <% if Setting.plugin_quick_view['worktime_ext_tooltip_enabled'] %>
+  quick_view_work_time_extension_tooltip_init();
+  $(document).ajaxComplete(quick_view_work_time_extension_tooltip_init);
+  <% end %>
+}
+
+function quick_view_work_time_extension_init() {
+  var links = $(".wt_iss_link");
+  links.each(function(){
+     var link = $(this);
+     if (link.hasClass("has_quick_view_anchor")) return;
+
+     var insertTo = link.next(".wt_done_ratio");
+     if (insertTo.length == 0) {
+       insertTo = link;
+     }
+     var issue_id = link.data("issue");
+     var anchor_html="<a style='margin-left: 5px;' href='javascript: quick_view_show_dialog("+issue_id+");'><img src='<%= image_path("external.png") %>'></img></a>";
+     $(anchor_html).insertAfter(insertTo);
+     link.addClass("has_quick_view_anchor");
+  });
+}
+
+function quick_view_work_time_extension_tooltip_init() {
+  var links = $(".wt_iss_link");
+  links.each(function(){
+     var link = $(this);
+     if (link.hasClass("has_tooltip")) return;
+
+     link.addClass("has_tooltip"); //need before ajax call.
+     link.mouseenter(function() { 
+       if (link.hasClass("has_tooltip_content")) return;
+
+       var issue_id = link.data("issue");
+       var url = "<%= quick_view_worktime_issue_path(0) %>".replace(/0$/, link.data("issue"));
+       $.ajax( { url: url, dataType: 'html', success: function (html){
+         link.addClass("has_tooltip_content"); //mark of tooltip content created.
+         link.tooltip({tooltipClass:"quick_view_tooltip", track: true, create:function(){link.attr("title",html);}});
+         link.tooltip("open");
+       }});
+     });
+  });
+}
+<% end %>
+//]]>
+</script>
+