Add ability to delete multiple selected manufacturer part parameters

This commit is contained in:
Oliver 2021-07-01 17:20:06 +10:00
parent 8a29a3de0f
commit 225162ab8e
4 changed files with 50 additions and 7 deletions

View File

@ -42,8 +42,11 @@
<button class='btn btn-success' id='parameter-create'>
<span class='fas fa-plus-circle'></span> {% trans "New Parameter" %}
</button>
<div id='param-dropdown' class='btn-group'>
<!-- TODO -->
<div id='opt-dropdown' class="btn-group">
<button id='parameter-options' class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">{% trans "Options" %}<span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href='#' id='multi-parameter-delete' title='{% trans "Delete parameters" %}'>{% trans "Delete" %}</a></li>
</ul>
</div>
</div>
</div>
@ -115,6 +118,46 @@ $("#supplier-part-delete").click(function() {
});
});
$("#multi-parameter-delete").click(function() {
var selections = $("#parameter-table").bootstrapTable("getSelections");
var text = `
<div class ='alert alert-block alert-danger'>
<p>{% trans "Selected parameters will be deleted" %}:</p>
<ul>`;
selections.forEach(function(item) {
text += `<li>${item.name} - <i>${item.value}</i></li>`;
});
text += `
</ul>
</div>`;
showQuestionDialog(
'{% trans "Delete Parameters" %}',
text,
{
accept_text: '{% trans "Delete" %}',
accept: function() {
// Delete each parameter via the API
var requests = [];
selections.forEach(function(item) {
var url = `/api/company/part/manufacturer/parameter/${item.pk}/`;
requests.push(inventreeDelete(url));
});
$.when.apply($, requests).then(function() {
$('#parameter-table').bootstrapTable('refresh');
});
}
}
);
});
loadSupplierPartTable(
"#supplier-table",
"{% url 'api-supplier-part-list' %}",
@ -140,5 +183,5 @@ loadManufacturerPartParameterTable(
);
linkButtonsToSelection($("#supplier-table"), ['#supplier-part-options'])
linkButtonsToSelection($("#parameter-table"), ['#parameter-options'])
{% endblock %}

View File

@ -123,7 +123,7 @@
});
// Wait for *all* the requests to complete
$.when(requests).then(function() {
$.when.apply($, requests).then(function() {
location.reload();
});
}

View File

@ -213,7 +213,7 @@ function deleteManufacturerParts(selections, options={}) {
});
// Wait for all the requests to complete
$.when(requests).then(function() {
$.when.apply($, requests).then(function() {
if (options.onSuccess) {
options.onSuccess();
@ -352,7 +352,7 @@ function loadManufacturerPartParameterTable(table, url, options) {
{
checkbox: true,
switchable: false,
visible: false,
visible: true,
},
{
field: 'name',

View File

@ -906,7 +906,7 @@ function loadStockTable(table, options) {
);
});
$.when(requests).then(function() {
$.when.apply($, requests).then(function() {
$("#stock-table").bootstrapTable('refresh');
});
})