From 8eaff6a353000222dfbfc1224050f308eb82af50 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 22 Sep 2019 21:37:04 +1000 Subject: [PATCH] Add wrapper function around bootstrapTable --- .../static/script/inventree/inventree.js | 10 ++++++-- .../static/script/inventree/tables.js | 25 +++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/static/script/inventree/inventree.js b/InvenTree/InvenTree/static/script/inventree/inventree.js index 390aba92ab..90dbacbe35 100644 --- a/InvenTree/InvenTree/static/script/inventree/inventree.js +++ b/InvenTree/InvenTree/static/script/inventree/inventree.js @@ -147,14 +147,20 @@ function inventreeSave(name, value) { localStorage.setItem(key, value); } -function inventreeLoad(name) { +function inventreeLoad(name, defaultValue) { /* * Retrieve a key:value pair from local storage */ var key = "inventree-" + name; - return localStorage.getItem(key); + var value = localStorage.getItem(key); + + if (value == null) { + return defaultValue; + } else { + return value; + } } function inventreeLoadInt(name) { diff --git a/InvenTree/InvenTree/static/script/inventree/tables.js b/InvenTree/InvenTree/static/script/inventree/tables.js index 59bc446d5e..8e9d3ccf84 100644 --- a/InvenTree/InvenTree/static/script/inventree/tables.js +++ b/InvenTree/InvenTree/static/script/inventree/tables.js @@ -44,6 +44,31 @@ function isNumeric(n) { } +/* Wrapper function for bootstrapTable. + * Sets some useful defaults, and manage persistent settings. + */ + +function inventreeTable(table, options) { + + var tableName = options.name || 'table'; + + var varName = tableName + '-pagesize'; + + options.pagination = true; + options.pageSize = inventreeLoad(varName, 25); + options.pageList = [25, 50, 100, 250, 'all']; + options.rememberOrder = true; + options.sortable = true; + options.search = true; + + options.onPageChange = function(number, size) { + inventreeSave(varName, size); + }; + + // Standard options for all tables + $(table).bootstrapTable(options); +} + function customGroupSorter(sortName, sortOrder, sortData) { console.log('got here');