mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 21:25:42 +00:00 
			
		
		
		
	Refactor model renderer functions
This commit is contained in:
		| @@ -1746,7 +1746,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { | ||||
|                         required: true, | ||||
|                         render_part_detail: true, | ||||
|                         render_location_detail: true, | ||||
|                         render_stock_id: false, | ||||
|                         render_pk: false, | ||||
|                         auto_fill: true, | ||||
|                         auto_fill_filters: auto_fill_filters, | ||||
|                         onSelect: function(data, field, opts) { | ||||
|   | ||||
| @@ -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 | ||||
| // eslint-disable-next-line no-unused-vars | ||||
| 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 class='float-right'><small>{% trans "Company ID" %}: ${data.pk}</small></span>`; | ||||
|     html += renderId('{% trans "Company ID" %}', data.pk, parameters); | ||||
|  | ||||
|     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> - `; | ||||
|     } | ||||
|  | ||||
|     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; | ||||
|  | ||||
|     if ('render_location_detail' in parameters) { | ||||
| @@ -88,7 +94,7 @@ function renderStockItem(name, data, parameters={}, options={}) { | ||||
|     var 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 = ''; | ||||
| @@ -103,7 +109,10 @@ function renderStockItem(name, data, parameters={}, options={}) { | ||||
|  | ||||
|     var html = ` | ||||
|     <span> | ||||
|         ${part_detail}${stock_detail}${location_detail}${stock_id} | ||||
|         ${part_detail} | ||||
|         ${stock_detail} | ||||
|         ${location_detail} | ||||
|         ${renderId('{% trans "Stock ID" %}', data.pk, parameters)} | ||||
|     </span> | ||||
|     `; | ||||
|  | ||||
| @@ -183,7 +192,7 @@ function renderPart(name, data, parameters={}, options={}) { | ||||
|         <small> | ||||
|             ${stock_data} | ||||
|             ${extra} | ||||
|             {% trans "Part ID" %}: ${data.pk} | ||||
|             ${renderId('{% trans "Part ID" $}', data.pk, parameters)} | ||||
|             </small> | ||||
|     </span>`; | ||||
|  | ||||
| @@ -245,13 +254,7 @@ function renderPurchaseOrder(name, data, parameters={}, options={}) { | ||||
|         html += ` - <em>${data.description}</em>`; | ||||
|     } | ||||
|  | ||||
|     html += ` | ||||
|     <span class='float-right'> | ||||
|         <small> | ||||
|             {% trans "Order ID" %}: ${data.pk} | ||||
|         </small> | ||||
|     </span> | ||||
|     `; | ||||
|     html += renderId('{% trans "Order ID" %}', data.pk, parameters); | ||||
|  | ||||
|     return html; | ||||
| } | ||||
| @@ -277,12 +280,7 @@ function renderSalesOrder(name, data, parameters={}, options={}) { | ||||
|         html += ` - <em>${data.description}</em>`; | ||||
|     } | ||||
|  | ||||
|     html += ` | ||||
|     <span class='float-right'> | ||||
|         <small> | ||||
|             {% trans "Order ID" %}: ${data.pk} | ||||
|         </small> | ||||
|     </span>`; | ||||
|     html += renderId('{% trans "Order ID" %}', data.pk, parameters); | ||||
|  | ||||
|     return html; | ||||
| } | ||||
|   | ||||
| @@ -132,6 +132,7 @@ function updateSearch() { | ||||
|             renderStockItem, | ||||
|             { | ||||
|                 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.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 | ||||
|     $('#offcanvas-search').find('#search-results').append(` | ||||
|     <div class='search-result-group-wrapper' id='search-results-wrapper-${key}'></div> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user