Fixed Github issue #10. History list updated after modification
This commit is contained in:
parent
efe0d79065
commit
7f5d6e6858
@ -76,7 +76,7 @@ if($('#DueDateInput').length > 0) {
|
|||||||
htmlCopy);
|
htmlCopy);
|
||||||
}
|
}
|
||||||
|
|
||||||
$('body').on('click', '.btn.close', function(e){
|
$('body.controller-issues.action-show').on('click', '.btn.close', function(e){
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$(e.target).closest('.value').removeClass('edited');
|
$(e.target).closest('.value').removeClass('edited');
|
||||||
return false;
|
return false;
|
||||||
@ -127,16 +127,23 @@ function issueDynamicUpdate(field_name, field_value, type, cssClass){
|
|||||||
xhr.setRequestHeader("authenticity_token", token);
|
xhr.setRequestHeader("authenticity_token", token);
|
||||||
},
|
},
|
||||||
success: function(msg) {
|
success: function(msg) {
|
||||||
// get result page content (updated issue detail page with new status)
|
/* get result page content (updated issue detail page with new status) */
|
||||||
var parsed = $.parseHTML(msg);
|
var parsed = $.parseHTML(msg);
|
||||||
|
|
||||||
var statusListDropdown = $(parsed).find("#statusListDropdown select");
|
var statusListDropdown = $(parsed).find("#statusListDropdown select");
|
||||||
var prioritiesListDropdown = $(parsed).find('#prioritiesListDropdown select');
|
var prioritiesListDropdown = $(parsed).find('#prioritiesListDropdown select');
|
||||||
// we update dropdown status with new one from updated page
|
/* we update dropdown status with new one from updated page */
|
||||||
$('#statusListDropdown select').html(statusListDropdown.html());
|
$('#statusListDropdown select').html(statusListDropdown.html());
|
||||||
$('#issue_status_id').html(statusListDropdown.html());
|
$('#issue_status_id').html(statusListDropdown.html());
|
||||||
$('#prioritiesListDropdown select').html(prioritiesListDropdown.html());
|
$('#prioritiesListDropdown select').html(prioritiesListDropdown.html());
|
||||||
$('#issue_priority_id').html(prioritiesListDropdown.html());
|
$('#issue_priority_id').html(prioritiesListDropdown.html());
|
||||||
|
|
||||||
|
/* we update issue properties edit block */
|
||||||
|
$('#all_attributes').html($(parsed).find('#all_attributes').html());
|
||||||
|
|
||||||
|
/* we update the history list */
|
||||||
|
$('#history').append($(parsed).find('#history .journal.has-details:last-child'));
|
||||||
|
|
||||||
/* data updated, remove spin and add success icon for 2sec */
|
/* data updated, remove spin and add success icon for 2sec */
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
$('.details .attributes .' + cssClass + '.attribute i.fa-spin').removeClass('fa-refresh fa-spin').addClass('fa-check statusOk');
|
$('.details .attributes .' + cssClass + '.attribute i.fa-spin').removeClass('fa-refresh fa-spin').addClass('fa-check statusOk');
|
||||||
|
|||||||
@ -1,35 +1,37 @@
|
|||||||
div.issue .attribute .value, div.issue .splitcontent {
|
/* prefix selector with body.controller-issues.action-show to avoid unwanted style on other page ? */
|
||||||
|
|
||||||
|
body.controller-issues.action-show div.issue .attribute .value, body.controller-issues.action-show div.issue .splitcontent {
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.issue .attribute .value .percent {
|
body.controller-issues.action-show div.issue .attribute .value .percent {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Progress bar fix */
|
/* Progress bar fix */
|
||||||
table.progress {
|
body.controller-issues.action-show table.progress {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.attribute .error {
|
body.controller-issues.action-show .attribute .error {
|
||||||
color: #e74c3c;
|
color: #e74c3c;
|
||||||
margin-left: 3px;
|
margin-left: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.value .fa-pencil {
|
body.controller-issues.action-show .value .fa-pencil {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.issue.details .showValue {
|
body.controller-issues.action-show .issue.details .showValue {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.issue.details:hover .fa-pencil {
|
body.controller-issues.action-show .issue.details:hover .fa-pencil {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dynamicEdit {
|
body.controller-issues.action-show .dynamicEdit {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position:absolute;
|
position:absolute;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
@ -45,30 +47,30 @@ table.progress {
|
|||||||
width: max-content;
|
width: max-content;
|
||||||
}
|
}
|
||||||
|
|
||||||
.edited .dynamicEdit {
|
body.controller-issues.action-show .edited .dynamicEdit {
|
||||||
pointer-events: auto;
|
pointer-events: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.issue .attribute .value.edited .dynamicEdit {
|
body.controller-issues.action-show div.issue .attribute .value.edited .dynamicEdit {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.attribute .btn-primary {
|
body.controller-issues.action-show .attribute .btn-primary {
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
color: white;
|
color: white;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.attribute .btn-primary.close {
|
body.controller-issues.action-show .attribute .btn-primary.close {
|
||||||
background: #c0392b;
|
background: #c0392b;
|
||||||
}
|
}
|
||||||
|
|
||||||
.attribute .btn-primary.validate {
|
body.controller-issues.action-show .attribute .btn-primary.validate {
|
||||||
background: #27ae60;
|
background: #27ae60;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dynamicEdit select {
|
body.controller-issues.action-show .dynamicEdit select {
|
||||||
border:none;
|
border:none;
|
||||||
background-image:none;
|
background-image:none;
|
||||||
background-color:transparent;
|
background-color:transparent;
|
||||||
@ -81,7 +83,7 @@ div.issue .attribute .value.edited .dynamicEdit {
|
|||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dynamicEdit select option[disabled="disabled"]
|
body.controller-issues.action-show .dynamicEdit select option[disabled="disabled"]
|
||||||
{
|
{
|
||||||
display:none;
|
display:none;
|
||||||
}
|
}
|
||||||
2
init.rb
2
init.rb
@ -6,7 +6,7 @@ Redmine::Plugin.register :redmine_issue_dynamic_edit do
|
|||||||
name 'Redmine Dynamic edit Issue plugin'
|
name 'Redmine Dynamic edit Issue plugin'
|
||||||
author 'Hugo Zilliox'
|
author 'Hugo Zilliox'
|
||||||
description 'Allows users to dynamically update issue attributes in detailed view'
|
description 'Allows users to dynamically update issue attributes in detailed view'
|
||||||
version '0.4.0'
|
version '0.4.2'
|
||||||
url 'https://github.com/ilogeek/redmine_issue_dynamic_edit'
|
url 'https://github.com/ilogeek/redmine_issue_dynamic_edit'
|
||||||
author_url 'https://hzilliox.fr'
|
author_url 'https://hzilliox.fr'
|
||||||
end
|
end
|
||||||
|
|||||||
@ -44,7 +44,6 @@ class DetailsIssueHooks < Redmine::Hook::ViewListener
|
|||||||
end
|
end
|
||||||
|
|
||||||
# Users dropdown
|
# Users dropdown
|
||||||
# userCanChangeAssignee = User.current.allowed_to?(:edit_assigned_to, @project, :global => true)
|
|
||||||
assignables = project.assignable_users
|
assignables = project.assignable_users
|
||||||
o << assignables.to_json
|
o << assignables.to_json
|
||||||
if (!assignables.empty?)
|
if (!assignables.empty?)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user