Fixed issue where table rules were not applied

This commit is contained in:
2026-02-07 23:03:14 +01:00
parent 6160e91665
commit fc38196ad9
2 changed files with 7 additions and 7 deletions

View File

@@ -80,10 +80,10 @@ class DataGridFormattingEditor(DslEditor):
cells_rules[cell_id].append(rule) cells_rules[cell_id].append(rule)
elif isinstance(scope, TableScope): elif isinstance(scope, TableScope):
# Validate table name matches current grid # Validate table name matches current grid
if scope.table == self._parent._settings.name: if scope.table == self._parent.get_table_name():
table_rules.append(rule) table_rules.append(rule)
else: else:
logger.warning(f"Table name '{scope.table}' does not match grid name '{self._parent._settings.name}', skipping rules") logger.warning(f"Table name '{scope.table}' does not match grid name '{self._parent.get_table_name()}', skipping rules")
elif isinstance(scope, TablesScope): elif isinstance(scope, TablesScope):
tables_rules.append(rule) tables_rules.append(rule)

View File

@@ -172,7 +172,7 @@ class TestFormattingEditorIntegration:
"""Test that table rules are dispatched to DatagridState.table_format.""" """Test that table rules are dispatched to DatagridState.table_format."""
dsl = ''' dsl = '''
table "products": table "app.products":
style("info") style("info")
''' '''
editor.set_content(dsl) editor.set_content(dsl)
@@ -218,7 +218,7 @@ tables:
tables: tables:
style(font_size="14px") style(font_size="14px")
table "products": table "app.products":
format.number(precision=2) format.number(precision=2)
column amount: column amount:
@@ -244,7 +244,7 @@ cell (amount, 1):
"""Test that table_format is cleared when DSL changes.""" """Test that table_format is cleared when DSL changes."""
# First set table rules # First set table rules
dsl = ''' dsl = '''
table "products": table "app.products":
style("info") style("info")
''' '''
editor.set_content(dsl) editor.set_content(dsl)
@@ -257,10 +257,10 @@ table "products":
assert len(datagrid._state.table_format) == 0 assert len(datagrid._state.table_format) == 0
@pytest.mark.parametrize("table_name,should_apply", [ @pytest.mark.parametrize("table_name,should_apply", [
("products", True), # Correct name ("app.products", True), # Correct name (namespace.name)
("products", False), # Name only (namespace required)
("PRODUCTS", False), # Case sensitive ("PRODUCTS", False), # Case sensitive
("product", False), # Partial match not allowed ("product", False), # Partial match not allowed
("app.products", False), # Namespace not included
("other", False), # Completely wrong ("other", False), # Completely wrong
]) ])
def test_table_name_validation(self, datagrid, editor, table_name, should_apply): def test_table_name_validation(self, datagrid, editor, table_name, should_apply):