mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Reset styles before applying to ensure defaults are restored
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
App > View {
|
App > View {
|
||||||
docks: side=left/1;
|
docks: side=left/1;
|
||||||
|
text: on #20639b;
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget:hover {
|
Widget:hover {
|
||||||
@@ -28,6 +29,10 @@ Widget:hover {
|
|||||||
border: hkey;
|
border: hkey;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#header.-visible {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
#content {
|
#content {
|
||||||
text: white on #20639b;
|
text: white on #20639b;
|
||||||
border-bottom: hkey #0f2b41;
|
border-bottom: hkey #0f2b41;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ class BasicApp(App):
|
|||||||
def on_load(self):
|
def on_load(self):
|
||||||
"""Bind keys here."""
|
"""Bind keys here."""
|
||||||
self.bind("tab", "toggle_class('#sidebar', '-active')")
|
self.bind("tab", "toggle_class('#sidebar', '-active')")
|
||||||
|
self.bind("a", "toggle_class('#header', '-visible')")
|
||||||
|
|
||||||
def on_mount(self):
|
def on_mount(self):
|
||||||
"""Build layout here."""
|
"""Build layout here."""
|
||||||
|
|||||||
@@ -113,8 +113,14 @@ class Stylesheet:
|
|||||||
rule_attributes = defaultdict(list)
|
rule_attributes = defaultdict(list)
|
||||||
|
|
||||||
_check_rule = self._check_rule
|
_check_rule = self._check_rule
|
||||||
|
|
||||||
|
node.reset_styles()
|
||||||
|
|
||||||
|
# Get the default node CSS rules
|
||||||
for key, default_specificity, value in node._default_rules:
|
for key, default_specificity, value in node._default_rules:
|
||||||
rule_attributes[key].append((default_specificity, value))
|
rule_attributes[key].append((default_specificity, value))
|
||||||
|
|
||||||
|
# Apply styles on top of the default node CSS rules
|
||||||
for rule in self.rules:
|
for rule in self.rules:
|
||||||
for specificity in _check_rule(rule, node):
|
for specificity in _check_rule(rule, node):
|
||||||
for key, rule_specificity, value in rule.styles.extract_rules(
|
for key, rule_specificity, value in rule.styles.extract_rules(
|
||||||
@@ -123,13 +129,6 @@ class Stylesheet:
|
|||||||
rule_attributes[key].append((rule_specificity, value))
|
rule_attributes[key].append((rule_specificity, value))
|
||||||
|
|
||||||
get_first_item = itemgetter(0)
|
get_first_item = itemgetter(0)
|
||||||
|
|
||||||
log("")
|
|
||||||
log(node)
|
|
||||||
for key, attributes in rule_attributes.items():
|
|
||||||
log(key, key in node.styles.important)
|
|
||||||
log("\t", attributes)
|
|
||||||
|
|
||||||
node_rules = [
|
node_rules = [
|
||||||
(name, max(specificity_rules, key=get_first_item)[1])
|
(name, max(specificity_rules, key=get_first_item)[1])
|
||||||
for name, specificity_rules in rule_attributes.items()
|
for name, specificity_rules in rule_attributes.items()
|
||||||
|
|||||||
Reference in New Issue
Block a user