{% load i18n %}
/*
* This file contains functions for rendering various InvenTree database models,
* in particular for displaying them in modal forms in a 'select2' context.
*
* Each renderer is provided with three arguments:
*
* - name: The 'name' of the model instance in the referring model
* - data: JSON data which represents the model instance. Returned via a GET request.
* - parameters: The field parameters provided via an OPTIONS request to the endpoint.
* - options: User options provided by the client
*/
// Renderer for "Company" model
function renderCompany(name, data, parameters, options) {
var html = `${data.name} - ${data.description}`;
html += `{% trans "Company ID" %}: ${data.pk}`;
return html;
}
// Renderer for "StockItem" model
function renderStockItem(name, data, parameters, options) {
var image = data.part_detail.thumbnail || data.part_detail.image;
if (!image) {
image = `/static/img/blank_image.png`;
}
var html = ``;
html += ` ${data.part_detail.full_name || data.part_detail.name}`;
if (data.serial && data.quantity == 1) {
html += ` - {% trans "Serial Number" %}: ${data.serial}`;
} else {
html += ` - {% trans "Quantity" %}: ${data.quantity}`;
}
if (data.part_detail.description) {
html += `
${data.part_detail.description}
`; } return html; } // Renderer for "StockLocation" model function renderStockLocation(name, data, parameters, options) { var html = `${data.name}`; if (data.description) { html += ` - ${data.description}`; } html += `{% trans "Location ID" %}: ${data.pk}`; if (data.pathstring) { html += `${data.pathstring}
`; } return html; } // Renderer for "Part" model function renderPart(name, data, parameters, options) { var image = data.image; if (!image) { image = `/static/img/blank_image.png`; } var html = `${data.pathstring}
`; } return html; } // Rendered for "SupplierPart" model function renderSupplierPart(name, data, parameters, options) { var image = data.supplier_detail.image; if (!image) { image = `/static/img/blank_image.png`; } var html = `