{% load i18n %} /* globals constructForm, exportFormatOptions, imageHoverIcon, inventreeGet, inventreePut, launchModalForm, loadTableFilters, makePartIcons, renderLink, setupFilterList, yesNoLabel, */ /* exported constructBomUploadTable, downloadBomTemplate, exportBom, newPartFromBomWizard, loadBomTable, loadUsedInTable, removeRowFromBomWizard, removeColFromBomWizard, submitBomTable */ /* Construct a table of data extracted from a BOM file. * This data is used to import a BOM interactively. */ function constructBomUploadTable(data, options={}) { if (!data.rows) { // TODO: Error message! return; } function constructRow(row, idx, fields) { // Construct an individual row from the provided data var field_options = { hideLabels: true, hideClearButton: true, form_classes: 'bom-form-group', }; function constructRowField(field_name) { var field = fields[field_name] || null; if (!field) { return `Cannot render field '${field_name}`; } field.value = row.data[field_name]; return constructField(`items_${field_name}_${idx}`, field, field_options); } // Construct form inputs var sub_part = constructRowField('sub_part'); var quantity = constructRowField('quantity'); var reference = constructRowField('reference'); var overage = constructRowField('overage'); var variants = constructRowField('allow_variants'); var inherited = constructRowField('inherited'); var optional = constructRowField('optional'); var note = constructRowField('note'); var buttons = `
${pretty}
{% trans "Part" %} | {% trans "Description" %} | {% trans "Stock" %} |
---|