%#-- copyright OpenProject is a project management system. Copyright (C) 2012-2013 the OpenProject Foundation (OPF) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: Copyright (C) 2006-2013 Jean-Philippe Lang Copyright (C) 2010-2013 the ChiliProject Team This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. See doc/COPYRIGHT.rdoc for more details. ++#%> var WorkPackage = WorkPackage || {}; WorkPackage.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); $("#work_package_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(/
((.|\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-work_packages.action-show').size() > 0) { init(); } }); })(jQuery);