mirror of
https://github.com/inventree/InvenTree.git
synced 2025-05-01 04:56:45 +00:00
Bug fix for build order allocation sorting
This commit is contained in:
parent
ba8d5fa3f4
commit
6886570d0f
@ -418,6 +418,7 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) {
|
|||||||
sub_part_detail: true,
|
sub_part_detail: true,
|
||||||
sub_part_trackable: trackable,
|
sub_part_trackable: trackable,
|
||||||
},
|
},
|
||||||
|
disablePagination: true,
|
||||||
formatNoMatches: function() {
|
formatNoMatches: function() {
|
||||||
return '{% trans "No BOM items found" %}';
|
return '{% trans "No BOM items found" %}';
|
||||||
},
|
},
|
||||||
@ -667,6 +668,7 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) {
|
|||||||
{
|
{
|
||||||
field: 'sub_part_detail.stock',
|
field: 'sub_part_detail.stock',
|
||||||
title: '{% trans "Available" %}',
|
title: '{% trans "Available" %}',
|
||||||
|
sortable: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'allocated',
|
field: 'allocated',
|
||||||
@ -686,14 +688,12 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) {
|
|||||||
return makeProgressBar(allocated, required);
|
return makeProgressBar(allocated, required);
|
||||||
},
|
},
|
||||||
sorter: function(valA, valB, rowA, rowB) {
|
sorter: function(valA, valB, rowA, rowB) {
|
||||||
|
console.log("sorting!");
|
||||||
var aA = sumAllocations(rowA);
|
var aA = sumAllocations(rowA);
|
||||||
var aB = sumAllocations(rowB);
|
var aB = sumAllocations(rowB);
|
||||||
|
|
||||||
var qA = rowA.quantity;
|
var qA = requiredQuantity(rowA);
|
||||||
var qB = rowB.quantity;
|
var qB = requiredQuantity(rowB);
|
||||||
|
|
||||||
qA *= output.quantity;
|
|
||||||
qB *= output.quantity;
|
|
||||||
|
|
||||||
// Handle the case where both numerators are zero
|
// Handle the case where both numerators are zero
|
||||||
if ((aA == 0) && (aB == 0)) {
|
if ((aA == 0) && (aB == 0)) {
|
||||||
@ -713,6 +713,8 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) {
|
|||||||
return (qA < qB) ? 1 : -1;
|
return (qA < qB) ? 1 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (progressA == progressB) return 0;
|
||||||
|
|
||||||
return (progressA < progressB) ? 1 : -1;
|
return (progressA < progressB) ? 1 : -1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -134,12 +134,14 @@ $.fn.inventreeTable = function(options) {
|
|||||||
var varName = tableName + '-pagesize';
|
var varName = tableName + '-pagesize';
|
||||||
|
|
||||||
// Pagingation options (can be server-side or client-side as specified by the caller)
|
// Pagingation options (can be server-side or client-side as specified by the caller)
|
||||||
|
if (!options.disablePagination) {
|
||||||
options.pagination = true;
|
options.pagination = true;
|
||||||
options.paginationVAlign = options.paginationVAlign || 'both';
|
options.paginationVAlign = options.paginationVAlign || 'both';
|
||||||
options.pageSize = inventreeLoad(varName, 25);
|
options.pageSize = inventreeLoad(varName, 25);
|
||||||
options.pageList = [25, 50, 100, 250, 'all'];
|
options.pageList = [25, 50, 100, 250, 'all'];
|
||||||
options.totalField = 'count';
|
options.totalField = 'count';
|
||||||
options.dataField = 'results';
|
options.dataField = 'results';
|
||||||
|
}
|
||||||
|
|
||||||
// Extract query params
|
// Extract query params
|
||||||
var filters = options.queryParams || options.filters || {};
|
var filters = options.queryParams || options.filters || {};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user