diff --git a/CHANGELOG.md b/CHANGELOG.md index 56958c4..f8fe9ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,12 +5,6 @@ All notable changes to wuttaweb will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## v0.21.2 (2025-02-18) - -### Fix - -- add hidden flag for grid columns - ## v0.21.1 (2025-02-17) ### Fix diff --git a/pyproject.toml b/pyproject.toml index e86d4be..663fa9e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "hatchling.build" [project] name = "WuttaWeb" -version = "0.21.2" +version = "0.21.1" description = "Web App for Wutta Framework" readme = "README.md" authors = [{name = "Lance Edgar", email = "lance@wuttaproject.org"}] diff --git a/src/wuttaweb/grids/base.py b/src/wuttaweb/grids/base.py index a754a2c..44c2170 100644 --- a/src/wuttaweb/grids/base.py +++ b/src/wuttaweb/grids/base.py @@ -156,15 +156,6 @@ class Grid: See also :meth:`set_link()` and :meth:`is_linked()`. - .. attribute:: hidden_columns - - List of column names which should be hidden from view. - - Hidden columns are sometimes useful to pass "extra" data into - the grid, for use by other component logic etc. - - See also :meth:`set_hidden()` and :meth:`is_hidden()`. - .. attribute:: sortable Boolean indicating whether *any* column sorting is allowed for @@ -381,7 +372,6 @@ class Grid: row_class=None, actions=[], linked_columns=[], - hidden_columns=[], sortable=False, sort_multiple=True, sort_on_backend=True, @@ -409,7 +399,6 @@ class Grid: self.row_class = row_class self.actions = actions or [] self.linked_columns = linked_columns or [] - self.hidden_columns = hidden_columns or [] self.joiners = joiners or {} self.config = self.request.wutta_config @@ -546,43 +535,6 @@ class Grid: if key in self.columns: self.columns.remove(key) - def set_hidden(self, key, hidden=True): - """ - Set/override the hidden flag for a column. - - Hidden columns are sometimes useful to pass "extra" data into - the grid, for use by other component logic etc. - - See also :meth:`is_hidden()`; the list is tracked via - :attr:`hidden_columns`. - - :param key: Column key as string. - - :param hidden: Flag indicating whether column should be hidden - (vs. shown). - """ - if hidden: - if key not in self.hidden_columns: - self.hidden_columns.append(key) - else: # un-hide - if self.hidden_columns and key in self.hidden_columns: - self.hidden_columns.remove(key) - - def is_hidden(self, key): - """ - Returns boolean indicating if the column is hidden from view. - - See also :meth:`set_hidden()` and :attr:`hidden_columns`. - - :param key: Column key as string. - - :rtype: bool - """ - if self.hidden_columns: - if key in self.hidden_columns: - return True - return False - def set_label(self, key, label, column_only=False): """ Set/override the label for a column. @@ -2138,7 +2090,6 @@ class Grid: columns.append({ 'field': name, 'label': self.get_label(name), - 'hidden': self.is_hidden(name), 'sortable': self.is_sortable(name), 'searchable': self.is_searchable(name), }) diff --git a/src/wuttaweb/templates/grids/vue_template.mako b/src/wuttaweb/templates/grids/vue_template.mako index 85dd468..fa7b8f7 100644 --- a/src/wuttaweb/templates/grids/vue_template.mako +++ b/src/wuttaweb/templates/grids/vue_template.mako @@ -165,21 +165,19 @@ > % for column in grid.get_vue_columns(): - % if not column['hidden']: - <${b}-table-column field="${column['field']}" - label="${column['label']}" - v-slot="props" - :sortable="${json.dumps(column.get('sortable', False))|n}" - :searchable="${json.dumps(column.get('searchable', False))|n}" - cell-class="c_${column['field']}"> - % if grid.is_linked(column['field']): - - % else: - - % endif - - % endif + <${b}-table-column field="${column['field']}" + label="${column['label']}" + v-slot="props" + :sortable="${json.dumps(column.get('sortable', False))|n}" + :searchable="${json.dumps(column.get('searchable', False))|n}" + cell-class="c_${column['field']}"> + % if grid.is_linked(column['field']): + + % else: + + % endif + % endfor % if grid.actions: diff --git a/tests/grids/test_base.py b/tests/grids/test_base.py index eea0215..0184c0c 100644 --- a/tests/grids/test_base.py +++ b/tests/grids/test_base.py @@ -281,26 +281,6 @@ class TestGrid(WebTestCase): self.assertFalse(grid.is_linked('foo')) self.assertTrue(grid.is_linked('bar')) - def test_hidden_columns(self): - grid = self.make_grid(columns=['foo', 'bar']) - self.assertEqual(grid.hidden_columns, []) - self.assertFalse(grid.is_hidden('foo')) - - grid.set_hidden('foo') - self.assertEqual(grid.hidden_columns, ['foo']) - self.assertTrue(grid.is_hidden('foo')) - self.assertFalse(grid.is_hidden('bar')) - - grid.set_hidden('bar') - self.assertEqual(grid.hidden_columns, ['foo', 'bar']) - self.assertTrue(grid.is_hidden('foo')) - self.assertTrue(grid.is_hidden('bar')) - - grid.set_hidden('foo', False) - self.assertEqual(grid.hidden_columns, ['bar']) - self.assertFalse(grid.is_hidden('foo')) - self.assertTrue(grid.is_hidden('bar')) - def test_searchable_columns(self): grid = self.make_grid(columns=['foo', 'bar']) self.assertEqual(grid.searchable_columns, set())