fix: add default sorter, tools for basic table-element grid
This commit is contained in:
parent
e3c0a8d99e
commit
fcfa47af4a
3 changed files with 96 additions and 4 deletions
|
@ -1610,6 +1610,50 @@ class TestGrid(WebTestCase):
|
|||
sorters = grid.get_vue_active_sorters()
|
||||
self.assertEqual(sorters, [{'field': 'name', 'order': 'asc'}])
|
||||
|
||||
def test_get_vue_first_sorter(self):
|
||||
|
||||
# empty by default
|
||||
grid = self.make_grid(key='foo', sortable=True)
|
||||
sorter = grid.get_vue_first_sorter()
|
||||
self.assertIsNone(sorter)
|
||||
|
||||
# will use first element from sort_defaults when applicable...
|
||||
|
||||
# basic
|
||||
grid = self.make_grid(key='foo', sortable=True, sort_defaults='name')
|
||||
sorter = grid.get_vue_first_sorter()
|
||||
self.assertEqual(sorter, ['name', 'asc'])
|
||||
|
||||
# descending
|
||||
grid = self.make_grid(key='foo', sortable=True, sort_defaults=('name', 'desc'))
|
||||
sorter = grid.get_vue_first_sorter()
|
||||
self.assertEqual(sorter, ['name', 'desc'])
|
||||
|
||||
# multiple
|
||||
grid = self.make_grid(key='foo', sortable=True, sort_defaults=[('key', 'asc'), ('name', 'asc')])
|
||||
sorter = grid.get_vue_first_sorter()
|
||||
self.assertEqual(sorter, ['key', 'asc'])
|
||||
|
||||
# will use first element from active_sorters when applicable...
|
||||
|
||||
# basic
|
||||
grid = self.make_grid(key='foo', sortable=True)
|
||||
grid.active_sorters = [{'key': 'name', 'dir': 'asc'}]
|
||||
sorter = grid.get_vue_first_sorter()
|
||||
self.assertEqual(sorter, ['name', 'asc'])
|
||||
|
||||
# descending
|
||||
grid = self.make_grid(key='foo', sortable=True)
|
||||
grid.active_sorters = [{'key': 'name', 'dir': 'desc'}]
|
||||
sorter = grid.get_vue_first_sorter()
|
||||
self.assertEqual(sorter, ['name', 'desc'])
|
||||
|
||||
# multiple
|
||||
grid = self.make_grid(key='foo', sortable=True)
|
||||
grid.active_sorters = [{'key': 'key', 'dir': 'asc'}, {'key': 'name', 'dir': 'asc'}]
|
||||
sorter = grid.get_vue_first_sorter()
|
||||
self.assertEqual(sorter, ['key', 'asc'])
|
||||
|
||||
def test_get_vue_filters(self):
|
||||
model = self.app.model
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue