2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-18 04:55:44 +00:00

Refactor forms for editing and deleting a PartParameter

- PartParameters now loaded using the API, not pre-rendered
This commit is contained in:
Oliver
2021-07-09 01:56:04 +10:00
parent cbd291849c
commit cbf0e0bd4a
11 changed files with 141 additions and 84 deletions

View File

@ -75,7 +75,7 @@
{{ block.super }}
$("#param-table").inventreeTable({
url: "{% url 'api-part-param-template-list' %}",
url: "{% url 'api-part-parameter-template-list' %}",
queryParams: {
ordering: 'name',
},

View File

@ -741,19 +741,19 @@ function handleFormSuccess(response, options) {
var cache = (options.follow && response.url) || options.redirect || options.reload;
// Display any messages
if (response.success) {
if (response && response.success) {
showAlertOrCache("alert-success", response.success, cache);
}
if (response.info) {
if (response && response.info) {
showAlertOrCache("alert-info", response.info, cache);
}
if (response.warning) {
if (response && response.warning) {
showAlertOrCache("alert-warning", response.warning, cache);
}
if (response.danger) {
if (response && response.danger) {
showAlertOrCache("alert-danger", response.danger, cache);
}

View File

@ -220,6 +220,107 @@ function loadSimplePartTable(table, url, options={}) {
}
function loadPartParameterTable(table, url, options) {
var params = options.params || {};
// Load filters
var filters = loadTableFilters("part-parameters");
for (var key in params) {
filters[key] = params[key];
}
// setupFilterLsit("#part-parameters", $(table));
$(table).inventreeTable({
url: url,
original: params,
queryParams: filters,
name: 'partparameters',
groupBy: false,
formatNoMatches: function() { return '{% trans "No parameters found" %}'; },
columns: [
{
checkbox: true,
switchable: false,
visible: true,
},
{
field: 'name',
title: '{% trans "Name" %}',
switchable: false,
sortable: true,
formatter: function(value, row) {
return row.template_detail.name;
}
},
{
field: 'data',
title: '{% trans "Value" %}',
switchable: false,
sortable: true,
},
{
field: 'units',
title: '{% trans "Units" %}',
switchable: true,
sortable: true,
formatter: function(value, row) {
return row.template_detail.units;
}
},
{
field: 'actions',
title: '',
switchable: false,
sortable: false,
formatter: function(value, row) {
var pk = row.pk;
var html = `<div class='btn-group float-right' role='group'>`;
html += makeIconButton('fa-edit icon-blue', 'button-parameter-edit', pk, '{% trans "Edit parameter" %}');
html += makeIconButton('fa-trash-alt icon-red', 'button-parameter-delete', pk, '{% trans "Delete parameter" %}');
html += `</div>`;
return html;
}
}
],
onPostBody: function() {
// Setup button callbacks
$(table).find('.button-parameter-edit').click(function() {
var pk = $(this).attr('pk');
constructForm(`/api/part/parameter/${pk}/`, {
fields: {
data: {},
},
title: '{% trans "Edit Parameter" %}',
onSuccess: function() {
$(table).bootstrapTable('refresh');
}
});
});
$(table).find('.button-parameter-delete').click(function() {
var pk = $(this).attr('pk');
constructForm(`/api/part/parameter/${pk}/`, {
method: 'DELETE',
title: '{% trans "Delete Parameter" %}',
onSuccess: function() {
$(table).bootstrapTable('refresh');
}
});
});
}
});
}
function loadParametricPartTable(table, options={}) {
/* Load parametric table for part parameters
*