OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/app/assets/javascripts/issues.js.erb

84 lines
2.6 KiB

<%#-- copyright
OpenProject is a project management system.
Copyright (C) 2012-2013 the OpenProject Team
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 3.
See doc/COPYRIGHT.rdoc for more details.
++#%>
var Issue = Issue || {};
Issue.Show = (function($) {
var init;
init = function () {
$.ajaxAppend({
trigger: '.action_menu_main .edit',
indicator_class: 'ajax-indicator',
load_target: '#update',
loading_text: I18n.t("js.ajax.loading"),
loading_class: 'box loading',
loading: function(update) {
$('html, body').animate({
scrollTop: $(update).offset().top
}, 200);
},
loaded: function(update) {
$('html, body').animate({
scrollTop: $(update).offset().top
}, 200);
$("#notes").focus();
}
});
$.ajaxAppend({
trigger: '.quote-link',
indicator_class: 'ajax-indicator',
load_target: '#update',
loading_text: I18n.t("js.ajax.loading"),
loading_class: 'box loading',
loading: function(update) {
$('html, body').animate({
scrollTop: $(update).offset().top
}, 200);
},
loaded: function(update, target) {
var content = $(target.context).parent().siblings('.wikicontent');
var text = content.text();
var user = content.attr('data-user');
text = text.trim().replace(/<pre>((.|\s)*?)<\/pre>/g, '[...]');
// remove blank lines generated by redmine textilizable
text = text.replace(/^\s*$[\n\r]{1,}/gm, '');
var quotedText = "<%= ::I18n.t(:text_user_wrote, :value => "{{{user}}}", :locale => Setting.default_language.to_s.gsub(%r{(.+)\-(.+)$}) { "#{$1}-#{$2.upcase}" }) %>\n> ";
quotedText = quotedText.replace("{{{user}}}", user);
quotedText += text.replace(/(\r?\n|\r\n?)/g, "\n> ") + "\n\n";
$('#notes').text(quotedText);
$('html, body').animate({
scrollTop: $(update).offset().top
}, 200);
$("#notes").focus();
}
});
$.ajaxAppend({
trigger: '.description-details',
indicator_class: 'ajax-indicator',
loading_class: 'text-diff',
hide_text: I18n.t("js.ajax.hide")
} );
};
$('document').ready(function () {
if ($('body.controller-issues.action-show').size() > 0) {
init();
}
});
})(jQuery);