Add "most of" Buefy support for grid filters

still a couple of details to wrap up yet, but this is most of it!
This commit is contained in:
Lance Edgar 2019-04-15 18:36:14 -05:00
parent 23c38e33d4
commit a0cd1f4cd0
8 changed files with 313 additions and 96 deletions

View file

@ -253,6 +253,9 @@ class MasterView(View):
labels.update(cls.row_labels)
return labels
def get_use_buefy(self):
return self.use_buefy and self.rattail_config.getbool('tailbone', 'grids.use_buefy')
##############################
# Available Views
##############################
@ -267,7 +270,7 @@ class MasterView(View):
"""
self.listing = True
grid = self.make_grid()
use_buefy = self.use_buefy and self.rattail_config.getbool('tailbone', 'grids.use_buefy')
use_buefy = self.get_use_buefy()
# If user just refreshed the page with a reset instruction, issue a
# redirect in order to clear out the query string.
@ -293,12 +296,6 @@ class MasterView(View):
'grid': grid,
'use_buefy': use_buefy,
}
if use_buefy:
context['grid_columns'] = grid.get_buefy_columns()
context['grid_data'] = grid.get_buefy_data()
context['static_data'] = grid.has_static_data()
return self.render_to_response('index', context)
def make_grid(self, factory=None, key=None, data=None, columns=None, **kwargs):
@ -2253,7 +2250,7 @@ class MasterView(View):
"""
actions = []
prefix = self.get_permission_prefix()
use_buefy = self.use_buefy and self.rattail_config.getbool('tailbone', 'grids.use_buefy')
use_buefy = self.get_use_buefy()
if self.viewable and self.request.has_perm('{}.view'.format(prefix)):
url = self.get_view_index_url if self.use_index_links else None
icon = 'eye' if use_buefy else 'zoomin'
@ -2270,7 +2267,7 @@ class MasterView(View):
"""
actions = []
prefix = self.get_permission_prefix()
use_buefy = self.use_buefy and self.rattail_config.getbool('tailbone', 'grids.use_buefy')
use_buefy = self.get_use_buefy()
if self.editable and self.request.has_perm('{}.edit'.format(prefix)):
icon = 'edit' if use_buefy else 'pencil'
actions.append(self.make_action('edit', icon=icon, url=self.default_edit_url))