Refactorin'

- Add the "download" button into the "filters" list
- Cuts down on boilerplate code
This commit is contained in:
Oliver 2022-03-03 21:16:27 +11:00
parent 85e9c4d3ca
commit ba406a4da9
9 changed files with 17 additions and 39 deletions

View File

@ -170,9 +170,6 @@
<div class='panel-content'>
<div id='assigned-stock-button-toolbar'>
<div class='btn-group' role='group'>
<button class='btn btn-outline-secondary filter-button' id='assigned-stock-export' title='{% trans "Export Stock Information" %}'>
<span class='fas fa-download'></span>
</button>
{% include "filter_list.html" with id="customerstock" %}
</div>
</div>
@ -233,10 +230,6 @@
filterTarget: '#filter-list-customerstock',
});
$('#assigned-stock-export').click(function() {
downloadTableData($('#assigned-stock-table'));
});
{% if company.is_customer %}
loadSalesOrderTable("#sales-order-table", {
url: "{% url 'api-so-list' %}",
@ -291,10 +284,6 @@
filterKey: "companystock",
});
$("#stock-export").click(function() {
downloadTableData($("#stock-table"));
});
{% if company.is_manufacturer %}
function reloadManufacturerPartTable() {

View File

@ -308,10 +308,6 @@ loadStockTable($("#stock-table"), {
url: "{% url 'api-stock-list' %}",
});
$("#stock-export").click(function() {
downloadTableData($("#stock-table"));
});
$("#item-create").click(function() {
createNewStockItem({
data: {

View File

@ -164,9 +164,6 @@
<div id='part-button-toolbar'>
<div class='btn-group' role='group'>
<div class='btn-group' role='group'>
<button id='part-export' class='btn btn-outline-secondary' type='button' title='{% trans "Export part data" %}'>
<span class='fas fa-file-download'></span>
</button>
<button id='part-options' class='btn btn-primary dropdown-toggle' type='button' data-bs-toggle="dropdown">
{% trans "Options" %}
</button>
@ -290,10 +287,6 @@
});
});
$("#part-export").click(function() {
downloadTableData($('#part-table'));
});
{% if roles.part.add %}
$("#part-create").click(function() {

View File

@ -831,12 +831,7 @@
],
url: "{% url 'api-stock-list' %}",
});
$("#stock-export").click(function() {
downloadTableData($("#stock-table"));
});
$('#item-create').click(function () {
createNewStockItem({
data: {

View File

@ -239,10 +239,6 @@
});
{% endif %}
$("#stock-export").click(function() {
downloadTableData($('#stock-table'));
});
$('#location-create').click(function () {
createStockLocation({

View File

@ -256,7 +256,7 @@ function generateFilterInput(tableKey, filterKey) {
* @param {*} table - bootstrapTable element to update
* @param {*} target - name of target element on page
*/
function setupFilterList(tableKey, table, target) {
function setupFilterList(tableKey, table, target, options={}) {
var addClicked = false;
@ -283,6 +283,11 @@ function setupFilterList(tableKey, table, target) {
var buttons = '';
// Add download button
if (options.download) {
buttons += `<button id='download-${tableKey}' title='{% trans "Download data" %}' class='btn btn-outline-secondary filter-button'><span class='fas fa-download'></span></button>`;
}
buttons += `<button id='reload-${tableKey}' title='{% trans "Reload data" %}' class='btn btn-outline-secondary filter-button'><span class='fas fa-redo-alt'></span></button>`;
// If there are filters defined for this table, add more buttons
@ -295,7 +300,7 @@ function setupFilterList(tableKey, table, target) {
}
element.html(`
<div class='btn-group' role='group'>
<div class='btn-group filter-group' role='group'>
${buttons}
</div>
`);
@ -322,6 +327,13 @@ function setupFilterList(tableKey, table, target) {
$(table).bootstrapTable('refresh');
});
// Add a callback for downloading table data
if (options.download) {
element.find(`#download-${tableKey}`).click(function() {
downloadTableData($(table));
});
}
// Add a callback for adding a new filter
element.find(`#${add}`).click(function clicked() {

View File

@ -1218,7 +1218,7 @@ function loadPartTable(table, url, options={}) {
filters[key] = params[key];
}
setupFilterList('parts', $(table), options.filterTarget || null);
setupFilterList('parts', $(table), options.filterTarget, {download: true});
var columns = [
{

View File

@ -1571,7 +1571,7 @@ function loadStockTable(table, options) {
original[k] = params[k];
}
setupFilterList(filterKey, table, filterTarget);
setupFilterList(filterKey, table, filterTarget, {download: true});
// Override the default values, or add new ones
for (var key in params) {

View File

@ -11,9 +11,6 @@
<div id='{{ prefix }}button-toolbar'>
<div class='button-toolbar container-fluid' style='float: right;'>
<div class='btn-group' role='group'>
<button class='btn btn-outline-secondary' id='stock-export' title='{% trans "Export Stock Information" %}'>
<span class='fas fa-download'></span>
</button>
{% if barcodes %}
<!-- Barcode actions menu -->
<div class='btn-group' role='group'>