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

Refactor model renderer functions

This commit is contained in:
Oliver Walters 2022-04-05 00:27:37 +10:00
parent 15253435af
commit 58003bc2cb
3 changed files with 32 additions and 30 deletions

View File

@ -1746,7 +1746,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) {
required: true, required: true,
render_part_detail: true, render_part_detail: true,
render_location_detail: true, render_location_detail: true,
render_stock_id: false, render_pk: false,
auto_fill: true, auto_fill: true,
auto_fill_filters: auto_fill_filters, auto_fill_filters: auto_fill_filters,
onSelect: function(data, field, opts) { onSelect: function(data, field, opts) {

View File

@ -31,6 +31,24 @@
*/ */
// Should the ID be rendered for this string
function renderId(title, pk, parameters={}) {
// Default = true
var render = true;
if ('render_pk' in parameters) {
render = parameters['render_pk'];
}
if (render) {
return `<span class='float-right'><small>${title}: ${pk}</small></span>`;
} else {
return '';
}
}
// Renderer for "Company" model // Renderer for "Company" model
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
function renderCompany(name, data, parameters={}, options={}) { function renderCompany(name, data, parameters={}, options={}) {
@ -39,7 +57,7 @@ function renderCompany(name, data, parameters={}, options={}) {
html += `<span><b>${data.name}</b></span> - <i>${data.description}</i>`; html += `<span><b>${data.name}</b></span> - <i>${data.description}</i>`;
html += `<span class='float-right'><small>{% trans "Company ID" %}: ${data.pk}</small></span>`; html += renderId('{% trans "Company ID" %}', data.pk, parameters);
return html; return html;
} }
@ -67,18 +85,6 @@ function renderStockItem(name, data, parameters={}, options={}) {
part_detail = `<img src='${image}' class='select2-thumbnail'><span>${data.part_detail.full_name}</span> - `; part_detail = `<img src='${image}' class='select2-thumbnail'><span>${data.part_detail.full_name}</span> - `;
} }
var render_stock_id = true;
if ('render_stock_id' in parameters) {
render_stock_id = parameters['render_stock_id'];
}
var stock_id = '';
if (render_stock_id) {
stock_id = `<span class='float-right'><small>{% trans "Stock ID" %}: ${data.pk}</small></span>`;
}
var render_location_detail = false; var render_location_detail = false;
if ('render_location_detail' in parameters) { if ('render_location_detail' in parameters) {
@ -88,7 +94,7 @@ function renderStockItem(name, data, parameters={}, options={}) {
var location_detail = ''; var location_detail = '';
if (render_location_detail && data.location_detail) { if (render_location_detail && data.location_detail) {
location_detail = ` - (<em>${data.location_detail.name}</em>)`; location_detail = ` <small>- (<em>${data.location_detail.name}</em>)</small>`;
} }
var stock_detail = ''; var stock_detail = '';
@ -103,7 +109,10 @@ function renderStockItem(name, data, parameters={}, options={}) {
var html = ` var html = `
<span> <span>
${part_detail}${stock_detail}${location_detail}${stock_id} ${part_detail}
${stock_detail}
${location_detail}
${renderId('{% trans "Stock ID" %}', data.pk, parameters)}
</span> </span>
`; `;
@ -183,7 +192,7 @@ function renderPart(name, data, parameters={}, options={}) {
<small> <small>
${stock_data} ${stock_data}
${extra} ${extra}
{% trans "Part ID" %}: ${data.pk} ${renderId('{% trans "Part ID" $}', data.pk, parameters)}
</small> </small>
</span>`; </span>`;
@ -245,13 +254,7 @@ function renderPurchaseOrder(name, data, parameters={}, options={}) {
html += ` - <em>${data.description}</em>`; html += ` - <em>${data.description}</em>`;
} }
html += ` html += renderId('{% trans "Order ID" %}', data.pk, parameters);
<span class='float-right'>
<small>
{% trans "Order ID" %}: ${data.pk}
</small>
</span>
`;
return html; return html;
} }
@ -277,12 +280,7 @@ function renderSalesOrder(name, data, parameters={}, options={}) {
html += ` - <em>${data.description}</em>`; html += ` - <em>${data.description}</em>`;
} }
html += ` html += renderId('{% trans "Order ID" %}', data.pk, parameters);
<span class='float-right'>
<small>
{% trans "Order ID" %}: ${data.pk}
</small>
</span>`;
return html; return html;
} }

View File

@ -132,6 +132,7 @@ function updateSearch() {
renderStockItem, renderStockItem,
{ {
url: '/stock/item', url: '/stock/item',
render_location_detail: true,
} }
); );
} }
@ -232,6 +233,9 @@ function addSearchQuery(key, title, query_url, query_params, render_func, render
query_params.offset = 0; query_params.offset = 0;
query_params.limit = user_settings.SEARCH_PREVIEW_RESULTS; query_params.limit = user_settings.SEARCH_PREVIEW_RESULTS;
// Do not display "pk" value for search results
render_params.render_pk = false;
// Add the result group to the panel // Add the result group to the panel
$('#offcanvas-search').find('#search-results').append(` $('#offcanvas-search').find('#search-results').append(`
<div class='search-result-group-wrapper' id='search-results-wrapper-${key}'></div> <div class='search-result-group-wrapper' id='search-results-wrapper-${key}'></div>