This commit is contained in:
2025-07-14 14:45:07 +02:00
parent b07cbc5bf4
commit 3625421efe
6 changed files with 105 additions and 143 deletions

View File

@ -17,7 +17,7 @@
}
main {
simplemain {
padding-top:80px;
}
@ -122,7 +122,10 @@
.issueParent{
font-size:12px;
line-height:12px;
color:var(--bs-green);
border-bottom: 1px solid;
padding-bottom:5px;
margin-bottom:5px;
font-style:italic;
}
.issueBody {
@ -187,7 +190,7 @@
</style>
{% endblock %}
{% block body %}
{% block simplebody %}
<div class='issueContainer'>
</div>
@ -257,63 +260,61 @@
</div>
<div class='scrumContainer'>
<div class='containerStatus'>
{% for status in project.redmine.issue_statuses %}
{% if status.id not in project.hiddenstatuses %}
<div class='statusCard statusCard{{status.id}}'>
<h2>{{ status.name }}</h2>
{% for status in project.redmine.issue_statuses %}
{% if status.id not in project.hiddenstatuses %}
<div class='statusCard statusCard{{status.id}}'>
<h2>{{ status.name }}</h2>
{% for sprint in project.redmine.sprints|reverse %}
{% if sprint.id not in project.hiddensprints %}
<div class='sprintCard sprintCard{{sprint.id}} card' style='margin-bottom:20px'>
<div class='sprintCardHeader card-header'>
<div style='flex-grow:1'>Sprint = {{ sprint.name }}</div>
{% if sprint.story_points[status.id] is defined %}
<div>{{ sprint.story_points[status.id] }}</div>
{% endif %}
</div>
{% for sprint in project.redmine.sprints|reverse %}
{% if sprint.id not in project.hiddensprints %}
<div class='sprintCard sprintCard{{sprint.id}} card' style='margin-bottom:20px'>
<div class='sprintCardHeader card-header'>
<div style='flex-grow:1'>Sprint = {{ sprint.name }}</div>
{% if sprint.story_points[status.id] is defined %}
<div>{{ sprint.story_points[status.id] }}</div>
{% endif %}
</div>
{% for version in project.redmine.versions|reverse %}
{% if version.id not in project.hiddenversions %}
<div class='versionCard versionCard{{version.id}} card-body'>
<h5>Version = {{ version.name }}</h5>
<div class='versionBody' data-id='{{status.id}}|{{sprint.id}}|{{version.id}}'></div>
</div>
{% endif %}
{% endfor %}
<div class='versionCard versionCardNone card-body'>
<h5>Version = Aucune</h5>
<div class='versionBody' data-id='{{status.id}}|{{sprint.id}}|'></div>
</div>
{% for version in project.redmine.versions|reverse %}
{% if version.id not in project.hiddenversions %}
<div class='versionCard versionCard{{version.id}} card-body'>
<h5>Version = {{ version.name }}</h5>
<div class='versionBody' data-id='{{status.id}}|{{sprint.id}}|{{version.id}}'></div>
</div>
{% endif %}
{% endfor %}
<div class='versionCard versionCardNone card-body'>
<h5>Version = Aucune</h5>
<div class='versionBody' data-id='{{status.id}}|{{sprint.id}}|'></div>
</div>
</div>
{% endif %}
{% endfor %}
<div class='sprintCard sprintCardNone card'>
<div class='card-header'>
Sprint Aucun
</div>
{% for version in project.redmine.versions|reverse %}
{% if version.id not in project.hiddenversions %}
<div class='versionCard versionCard{{version.id}} card-body'>
<h5>Version = {{ version.name }}</h5>
<div class='versionBody' data-id='{{status.id}}||{{version.id}}'></div>
</div>
{% endif %}
{% endfor %}
<div class='sprintCard sprintCardNone card'>
<div class='card-header'>
Sprint Aucun
</div>
{% for version in project.redmine.versions|reverse %}
{% if version.id not in project.hiddenversions %}
<div class='versionCard versionCard{{version.id}} card-body'>
<h5>Version = {{ version.name }}</h5>
<div class='versionBody' data-id='{{status.id}}||{{version.id}}'></div>
</div>
{% endif %}
{% endfor %}
<div class='versionCard versionCardNone card-body'>
<h5>Version = Aucune</h5>
<div class='versionBody' data-id='{{status.id}}||'></div>
</div>
<div class='versionCard versionCardNone card-body'>
<h5>Version = Aucune</h5>
<div class='versionBody' data-id='{{status.id}}||'></div>
</div>
</div>
{% endif %}
{% endfor %}
</div>
</div>
{% endif %}
{% endfor %}
{% for issue in project.issues %}
<div class="issueCard {{issue.color}} card tracker{{issue.redmine.tracker.id}} category{{(issue.redmine.category is defined?issue.redmine.category.id:'0') }}" data-status='{{issue.redmine.status.id}}' data-sprint='{{issue.rowsprint}}' data-version='{{(issue.redmine.fixed_version is defined?issue.redmine.fixed_version.id:'')}}' data-id='{{issue.id}}'>
@ -664,17 +665,16 @@
placeholder: 'issue-placeholder',
forcePlaceholderSize: true,
scroll: true, // 👈 Active le scroll auto
scrollSensitivity: 50, // 👈 distance (px) à partir du bord pour déclencher le scroll
scrollSpeed: 100, // 👈 vitesse de défilement
start: function (event, ui) {
$sourceContainer = ui.item.parent();
$movedItem = ui.item;
originalIndex = ui.item.index();
enableAutoScroll($(window)); // ou remplace par ton conteneur scrollable
},
stop: function () {
disableAutoScroll();
},
update: function (event, ui) {
console.log("UPDATE");
if (!event.originalEvent) return;
@ -732,40 +732,5 @@
});
}
});
let autoScrollInterval = null;
function enableAutoScroll($container) {
$(document).on('mousemove.autoScroll', function (e) {
const scrollMargin = 50; // px depuis le bord de la fenêtre
const scrollSpeed = 20; // px à chaque tick
const mouseY = e.clientY;
const windowHeight = window.innerHeight;
// Scroll vers le haut
if (mouseY < scrollMargin) {
clearInterval(autoScrollInterval);
autoScrollInterval = setInterval(() => {
$container.scrollTop($container.scrollTop() - scrollSpeed);
}, 50);
}
// Scroll vers le bas
else if (mouseY > windowHeight - scrollMargin) {
clearInterval(autoScrollInterval);
autoScrollInterval = setInterval(() => {
$container.scrollTop($container.scrollTop() + scrollSpeed);
}, 50);
} else {
clearInterval(autoScrollInterval);
}
});
}
function disableAutoScroll() {
$(document).off('mousemove.autoScroll');
clearInterval(autoScrollInterval);
}
</script>
{% endblock %}