From 6e52ca21785c146ec6c1a0df83843b14de0b6090 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Fri, 29 Apr 2022 00:44:29 +1000 Subject: [PATCH] Refactor button callbacks - Add button to expand all output rows - Add button to collapse all output rows --- InvenTree/build/templates/build/detail.html | 72 +++----------------- InvenTree/templates/js/translated/build.js | 73 +++++++++++++++++++++ 2 files changed, 83 insertions(+), 62 deletions(-) diff --git a/InvenTree/build/templates/build/detail.html b/InvenTree/build/templates/build/detail.html index c01c9055f1..52b81e6389 100644 --- a/InvenTree/build/templates/build/detail.html +++ b/InvenTree/build/templates/build/detail.html @@ -270,6 +270,16 @@ + {% if build.has_tracked_bom_items %} + + + + {% endif %} + {% include "filter_list.html" with id='incompletebuilditems' %} {% endif %} @@ -416,68 +426,6 @@ onPanelLoad('outputs', function() { loadBuildOutputTable(build_info); - linkButtonsToSelection( - '#build-output-table', - [ - '#output-options', - '#multi-output-complete', - '#multi-output-delete', - ] - ); - - $('#multi-output-complete').click(function() { - var outputs = $('#build-output-table').bootstrapTable('getSelections'); - - completeBuildOutputs( - build_info.pk, - outputs, - { - success: function() { - // Reload the "in progress" table - $('#build-output-table').bootstrapTable('refresh'); - - // Reload the "completed" table - $('#build-stock-table').bootstrapTable('refresh'); - } - } - ); - }); - - $('#multi-output-delete').click(function() { - var outputs = $('#build-output-table').bootstrapTable('getSelections'); - - deleteBuildOutputs( - build_info.pk, - outputs, - { - success: function() { - // Reload the "in progress" table - $('#build-output-table').bootstrapTable('refresh'); - - // Reload the "completed" table - $('#build-stock-table').bootstrapTable('refresh'); - } - } - ) - }); - - $('#incomplete-output-print-label').click(function() { - var outputs = $('#build-output-table').bootstrapTable('getSelections'); - - if (outputs.length == 0) { - outputs = $('#build-output-table').bootstrapTable('getData'); - } - - var stock_id_values = []; - - outputs.forEach(function(output) { - stock_id_values.push(output.pk); - }); - - printStockItemLabels(stock_id_values); - - }); - {% endif %} }); diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index c91dc1ccc0..935206ce2f 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -1233,6 +1233,79 @@ function loadBuildOutputTable(build_info, options={}) { $(table).on('collapse-row.bs.table', function(detail, index, row) { $(`#button-output-allocate-${row.pk}`).prop('disabled', true); }); + + // Add callbacks for the various table menubar buttons + + // Complete multiple outputs + $('#multi-output-complete').click(function() { + var outputs = $(table).bootstrapTable('getSelections'); + + if (outputs.length == 0) { + outputs = $(table).bootstrapTable('getData'); + } + + completeBuildOutputs( + build_info.pk, + outputs, + { + success: function() { + // Reload the "in progress" table + $('#build-output-table').bootstrapTable('refresh'); + + // Reload the "completed" table + $('#build-stock-table').bootstrapTable('refresh'); + } + } + ); + }); + + // Delete multiple build outputs + $('#multi-output-delete').click(function() { + var outputs = $(table).bootstrapTable('getSelections'); + + if (outputs.length == 0) { + outputs = $(table).bootstrapTable('getData'); + } + + deleteBuildOutputs( + build_info.pk, + outputs, + { + success: function() { + // Reload the "in progress" table + $('#build-output-table').bootstrapTable('refresh'); + + // Reload the "completed" table + $('#build-stock-table').bootstrapTable('refresh'); + } + } + ) + }); + + // Print stock item labels + $('#incomplete-output-print-label').click(function() { + var outputs = $(table).bootstrapTable('getSelections'); + + if (outputs.length == 0) { + outputs = $(table).bootstrapTable('getData'); + } + + var stock_id_values = []; + + outputs.forEach(function(output) { + stock_id_values.push(output.pk); + }); + + printStockItemLabels(stock_id_values); + }); + + $('#outputs-expand').click(function() { + $(table).bootstrapTable('expandAllRows'); + }); + + $('#outputs-collapse').click(function() { + $(table).bootstrapTable('collapseAllRows'); + }); }