Let a grid have custom ajax data url

i.e. instead of assuming we should GET the current "partial" page, can use a
different URL altogether now
This commit is contained in:
Lance Edgar 2019-08-23 19:28:36 -05:00
parent e6dff16550
commit fd700e06f4
3 changed files with 10 additions and 1 deletions

View file

@ -74,6 +74,7 @@ class Grid(object):
sortable=False, sorters={}, default_sortkey=None, default_sortdir='asc',
pageable=False, default_pagesize=20, default_page=1,
checkboxes=False, checked=None, main_actions=[], more_actions=[], delete_speedbump=False,
ajax_data_url=None,
**kwargs):
self.key = key
@ -127,6 +128,13 @@ class Grid(object):
self.more_actions = more_actions or []
self.delete_speedbump = delete_speedbump
if ajax_data_url:
self.ajax_data_url = ajax_data_url
elif self.request:
self.ajax_data_url = self.request.current_route_url()
else:
self.ajax_data_url = ''
self._whgrid_kwargs = kwargs
def make_columns(self):

View file

@ -46,7 +46,7 @@ let TailboneGrid = {
}
this.loading = true
this.$http.get(`?${params}`).then(({ data }) => {
this.$http.get(`${this.ajaxDataUrl}?${params}`).then(({ data }) => {
this.data = data.data
this.rowStatusMap = data.row_status_map
this.total = data.total_items

View file

@ -205,6 +205,7 @@
loading: false,
checkedRows: [],
selectedFilter: null,
ajaxDataUrl: ${json.dumps(grid.ajax_data_url)|n},
data: ${json.dumps(grid_data['data'])|n},
rowStatusMap: ${json.dumps(grid_data['row_status_map'])|n},