mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Skeleton for AJAXified build table
This commit is contained in:
parent
2f71233d62
commit
a4e45eab13
@ -1,3 +1,53 @@
|
||||
function loadBuildTable(table, options) {
|
||||
|
||||
var params = options.params || {};
|
||||
|
||||
var filters = loadTableFilters("build");
|
||||
|
||||
for (var key in params) {
|
||||
filters[key] = params[key];
|
||||
}
|
||||
|
||||
table.inventreeTable({
|
||||
method: 'get',
|
||||
formatNoMatches: function() {
|
||||
return "No builds matching query";
|
||||
},
|
||||
url: options.url,
|
||||
queryParams: filters,
|
||||
groupBy: false,
|
||||
original: params,
|
||||
columns: [
|
||||
{
|
||||
field: 'pk',
|
||||
title: 'ID',
|
||||
visible: false,
|
||||
},
|
||||
{
|
||||
field: 'title',
|
||||
title: 'Build',
|
||||
},
|
||||
{
|
||||
field: 'part',
|
||||
title: 'Part',
|
||||
},
|
||||
{
|
||||
field: 'quantity',
|
||||
title: 'Quantity',
|
||||
},
|
||||
{
|
||||
field: 'status_text',
|
||||
title: 'Status',
|
||||
},
|
||||
{
|
||||
field: 'creation_date',
|
||||
title: 'Created',
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function updateAllocationTotal(id, count, required) {
|
||||
|
||||
count = parseFloat(count);
|
||||
|
@ -11,22 +11,31 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
function defaultFilters() {
|
||||
return {
|
||||
stock: "cascade=1",
|
||||
build: "",
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Load table filters for the given table from session storage
|
||||
*
|
||||
* @param tableKey - String key for the particular table
|
||||
* @param defaults - Default filters for this table e.g. 'cascade=1&location=5'
|
||||
*/
|
||||
function loadTableFilters(tableKey, defaults) {
|
||||
function loadTableFilters(tableKey) {
|
||||
|
||||
var lookup = "table-filters-" + tableKey.toLowerCase();
|
||||
|
||||
var defaults = defaultFilters()[tableKey] || '';
|
||||
|
||||
var filterstring = inventreeLoad(lookup, defaults);
|
||||
|
||||
var filters = {};
|
||||
|
||||
console.log(`Loaded filters for table '${tableKey}' - ${filterstring}`);
|
||||
|
||||
filterstring.split("&").forEach(function(item, index) {
|
||||
item = item.trim();
|
||||
|
||||
@ -73,7 +82,7 @@ function saveTableFilters(tableKey, filters) {
|
||||
*/
|
||||
function removeTableFilter(tableKey, filterKey) {
|
||||
|
||||
var filters = loadTableFilters(tableKey, '');
|
||||
var filters = loadTableFilters(tableKey);
|
||||
|
||||
delete filters[filterKey];
|
||||
|
||||
@ -86,7 +95,7 @@ function removeTableFilter(tableKey, filterKey) {
|
||||
|
||||
function addTableFilter(tableKey, filterKey, filterValue) {
|
||||
|
||||
var filters = loadTableFilters(tableKey, '');
|
||||
var filters = loadTableFilters(tableKey);
|
||||
|
||||
filters[filterKey] = filterValue;
|
||||
|
||||
@ -114,7 +123,7 @@ function clearTableFilters(tableKey) {
|
||||
*/
|
||||
function getRemainingTableFilters(tableKey) {
|
||||
|
||||
var filters = loadTableFilters(tableKey, '');
|
||||
var filters = loadTableFilters(tableKey);
|
||||
|
||||
var remaining = getAvailableTableFilters(tableKey);
|
||||
|
||||
|
@ -56,20 +56,8 @@ function loadStockTable(table, options) {
|
||||
original[key] = params[key];
|
||||
}
|
||||
|
||||
// Record a copy of the original query params
|
||||
// It will be required if the table is refreshed
|
||||
//options.original = original;
|
||||
|
||||
setupFilterList("stock", table, filterListElement);
|
||||
|
||||
$("#filter-add").click(function() {
|
||||
createStockFilter();
|
||||
});
|
||||
|
||||
$("#filter-clear").click(function() {
|
||||
clearStockFilters();
|
||||
});
|
||||
|
||||
// Override the default values, or add new ones
|
||||
for (var key in params) {
|
||||
filters[key] = params[key];
|
||||
|
@ -23,6 +23,9 @@ InvenTree | Build List
|
||||
|
||||
<hr>
|
||||
|
||||
<table class='table table-striped table-condensed' id='build-table'>
|
||||
</table>
|
||||
|
||||
{% include "build/build_list.html" with builds=active title="Active Builds" completed=False collapse_id='active' %}
|
||||
|
||||
{% include "build/build_list.html" with builds=completed completed=True title="Completed Builds" collapse_id="complete" %}
|
||||
@ -44,6 +47,10 @@ InvenTree | Build List
|
||||
});
|
||||
});
|
||||
|
||||
loadBuildTable($("#build-table"), {
|
||||
url: "{% url 'api-build-list' %}"
|
||||
});
|
||||
|
||||
$(".build-table").inventreeTable({
|
||||
formatNoMatches: function() { return 'No builds found'; },
|
||||
columns: [
|
||||
|
@ -105,6 +105,7 @@ InvenTree
|
||||
<script type='text/javascript' src="{% static 'script/inventree/bom.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'script/inventree/filters.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'script/inventree/tables.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'script/inventree/build.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'script/inventree/modals.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'script/inventree/order.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'script/inventree/notification.js' %}"></script>
|
||||
|
Loading…
Reference in New Issue
Block a user