Skip to content

Commit

Permalink
Merge pull request #660 from WHOIGit/navtree_details
Browse files Browse the repository at this point in the history
update navtree logic for other detail pages
  • Loading branch information
ethanandrews authored May 21, 2024
2 parents 6a1b7f1 + dfe3b4c commit 411b2a0
Show file tree
Hide file tree
Showing 7 changed files with 170 additions and 2 deletions.
26 changes: 26 additions & 0 deletions roundabout/templates/inventory/ajax_deployment_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -176,5 +176,31 @@ <h5>Percent Complete</h5>


{% block javascript %}
<script>
$(document).ready(function(){
$('#jstree-navtree').on('loaded.jstree', function() {
// Open the tree to the selected item

setTimeout(function() { // Adding a slight delay to ensure the node is open and rendered
var selectedItem = $('#jstree-navtree').find('.jstree-clicked')
console.log(selectedItem)
if (selectedItem.length) {
var container = $('#jstree-navtree').parent();
var selectedItemOffsetFromTop = selectedItem.offset().top;
var containerScrollTop = container.scrollTop();
var containerHeight = container.height();
var selectedItemHeight = selectedItem.outerHeight(true); // Include margin

// Calculate the top scroll position to center the item
var scrollTopToCenterItem = containerScrollTop + selectedItemOffsetFromTop - container.offset().top - (containerHeight / 2) + (selectedItemHeight / 2);

container.animate({
scrollTop: scrollTopToCenterItem
}, 'slow');
}
}, 300); // Adjust delay as necessary
});
});
</script>

{% endblock javascript %}
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,28 @@ <h4>Percent Complete</h4>
<script>

$(document).ready(function() {

$('#jstree-navtree').on('loaded.jstree', function() {
// Open the tree to the selected item

setTimeout(function() { // Adding a slight delay to ensure the node is open and rendered
var selectedItem = $('#jstree-navtree').find('.jstree-clicked')
console.log(selectedItem)
if (selectedItem.length) {
var container = $('#jstree-navtree').parent();
var selectedItemOffsetFromTop = selectedItem.offset().top;
var containerScrollTop = container.scrollTop();
var containerHeight = container.height();
var selectedItemHeight = selectedItem.outerHeight(true); // Include margin

// Calculate the top scroll position to center the item
var scrollTopToCenterItem = containerScrollTop + selectedItemOffsetFromTop - container.offset().top - (containerHeight / 2) + (selectedItemHeight / 2);

container.animate({
scrollTop: scrollTopToCenterItem
}, 'slow');
}
}, 300); // Adjust delay as necessary
});

});
</script>
Expand Down
23 changes: 23 additions & 0 deletions roundabout/templates/inventory/ajax_inventory_location_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,29 @@ <h3>{{ location.name }}</h3>
});
});

$('#jstree-navtree').on('loaded.jstree', function() {
// Open the tree to the selected item

setTimeout(function() { // Adding a slight delay to ensure the node is open and rendered
var selectedItem = $('#jstree-navtree').find('.jstree-clicked')
console.log(selectedItem)
if (selectedItem.length) {
var container = $('#jstree-navtree').parent();
var selectedItemOffsetFromTop = selectedItem.offset().top;
var containerScrollTop = container.scrollTop();
var containerHeight = container.height();
var selectedItemHeight = selectedItem.outerHeight(true); // Include margin

// Calculate the top scroll position to center the item
var scrollTopToCenterItem = containerScrollTop + selectedItemOffsetFromTop - container.offset().top - (containerHeight / 2) + (selectedItemHeight / 2);

container.animate({
scrollTop: scrollTopToCenterItem
}, 'slow');
}
}, 300); // Adjust delay as necessary
});


});
</script>
Expand Down
23 changes: 23 additions & 0 deletions roundabout/templates/inventory/ajax_inventory_snapshot_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,29 @@
$('.ajax-detail-link').show();
}

$('#jstree-navtree').on('loaded.jstree', function() {
// Open the tree to the selected item

setTimeout(function() { // Adding a slight delay to ensure the node is open and rendered
var selectedItem = $('#jstree-navtree').find('.jstree-clicked')
console.log(selectedItem)
if (selectedItem.length) {
var container = $('#jstree-navtree').parent();
var selectedItemOffsetFromTop = selectedItem.offset().top;
var containerScrollTop = container.scrollTop();
var containerHeight = container.height();
var selectedItemHeight = selectedItem.outerHeight(true); // Include margin

// Calculate the top scroll position to center the item
var scrollTopToCenterItem = containerScrollTop + selectedItemOffsetFromTop - container.offset().top - (containerHeight / 2) + (selectedItemHeight / 2);

container.animate({
scrollTop: scrollTopToCenterItem
}, 'slow');
}
}, 300); // Adjust delay as necessary
});

</script>

{% endblock javascript %}
23 changes: 23 additions & 0 deletions roundabout/templates/inventory/deployment_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,29 @@ <h2>Deployments</h2>

});

$('#jstree-navtree').on('loaded.jstree', function() {
// Open the tree to the selected item

setTimeout(function() { // Adding a slight delay to ensure the node is open and rendered
var selectedItem = $('#jstree-navtree').find('.jstree-clicked')
console.log(selectedItem)
if (selectedItem.length) {
var container = $('#jstree-navtree').parent();
var selectedItemOffsetFromTop = selectedItem.offset().top;
var containerScrollTop = container.scrollTop();
var containerHeight = container.height();
var selectedItemHeight = selectedItem.outerHeight(true); // Include margin

// Calculate the top scroll position to center the item
var scrollTopToCenterItem = containerScrollTop + selectedItemOffsetFromTop - container.offset().top - (containerHeight / 2) + (selectedItemHeight / 2);

container.animate({
scrollTop: scrollTopToCenterItem
}, 'slow');
}
}, 300); // Adjust delay as necessary
});


});

Expand Down
26 changes: 26 additions & 0 deletions roundabout/templates/inventory/inventory_deployment_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,32 @@
{% block javascript %}

<script>
$(document).ready(function() {
$('#jstree-navtree').on('loaded.jstree', function() {
// Open the tree to the selected item

setTimeout(function() { // Adding a slight delay to ensure the node is open and rendered
var selectedItem = $('#jstree-navtree').find('.jstree-clicked')
console.log(selectedItem)
if (selectedItem.length) {
var container = $('#jstree-navtree').parent();
var selectedItemOffsetFromTop = selectedItem.offset().top;
var containerScrollTop = container.scrollTop();
var containerHeight = container.height();
var selectedItemHeight = selectedItem.outerHeight(true); // Include margin

// Calculate the top scroll position to center the item
var scrollTopToCenterItem = containerScrollTop + selectedItemOffsetFromTop - container.offset().top - (containerHeight / 2) + (selectedItemHeight / 2);

container.animate({
scrollTop: scrollTopToCenterItem
}, 'slow');
}
}, 300); // Adjust delay as necessary
});

});

var containerID = 'deployment-percent-' + {{ inventory_deployment.id }};
var deploymentPecentage = {{ inventory_deployment.deployment_percentage_vs_build }};
var timeInField = '{{ inventory_deployment.deployment_time_in_field|time_at_sea_display }}';
Expand Down
28 changes: 27 additions & 1 deletion roundabout/templates/inventory/inventory_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,33 @@ <h2>Inventory</h2>
{% endblock content %}

{% block javascript %}

<script>
$(document).ready(function() {
$('#jstree-navtree').on('loaded.jstree', function() {
// Open the tree to the selected item

setTimeout(function() { // Adding a slight delay to ensure the node is open and rendered
var selectedItem = $('#jstree-navtree').find('.jstree-clicked')
console.log(selectedItem)
if (selectedItem.length) {
var container = $('#jstree-navtree').parent();
var selectedItemOffsetFromTop = selectedItem.offset().top;
var containerScrollTop = container.scrollTop();
var containerHeight = container.height();
var selectedItemHeight = selectedItem.outerHeight(true); // Include margin

// Calculate the top scroll position to center the item
var scrollTopToCenterItem = containerScrollTop + selectedItemOffsetFromTop - container.offset().top - (containerHeight / 2) + (selectedItemHeight / 2);

container.animate({
scrollTop: scrollTopToCenterItem
}, 'slow');
}
}, 300); // Adjust delay as necessary
});

});
</script>


{% endblock javascript %}

0 comments on commit 411b2a0

Please sign in to comment.