Skip to content

Commit da68319

Browse files
committed
Fixed missing TreegraphOptions.levels property.
1 parent e136fcd commit da68319

File tree

3 files changed

+55
-2
lines changed

3 files changed

+55
-2
lines changed

highcharts_core/options/plot_options/levels.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from highcharts_core.utility_classes.gradients import Gradient
1111
from highcharts_core.utility_classes.patterns import Pattern
1212
from highcharts_core.utility_classes.states import States
13+
from highcharts_core.utility_classes.markers import Marker
1314

1415

1516
class BaseLevelOptions(HighchartsMeta):
@@ -617,3 +618,29 @@ def _to_untrimmed_dict(self, in_cls = None) -> dict:
617618
untrimmed[key] = parent_as_dict[key]
618619

619620
return untrimmed
621+
622+
623+
class TreegraphLevelOptions(TreemapLevelOptions):
624+
"""Set options on specific levels for Treegraph Charts. Takes precedence over series
625+
options, but not points."""
626+
627+
def __init__(self, **kwargs):
628+
self._marker = None
629+
630+
self.marker = kwargs.get('marker', None)
631+
632+
super().__init__(**kwargs)
633+
634+
@property
635+
def marker(self) -> Optional[Marker]:
636+
"""Set marker options for nodes at the level.
637+
638+
:rtype: :class:`Marker <highcharts_core.utility_classes.markers.Marker>` or
639+
:obj:`None <python:None>`
640+
"""
641+
return self._marker
642+
643+
@marker.setter
644+
@class_sensitive(Marker)
645+
def marker(self, value):
646+
self._marker = value

highcharts_core/options/plot_options/treegraph.py

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import datetime
2-
from typing import Optional
2+
from typing import Optional, List
33
from decimal import Decimal
44

55
from validator_collection import validators
@@ -11,6 +11,7 @@
1111
from highcharts_core.utility_classes.events import SeriesEvents
1212
from highcharts_core.utility_classes.javascript_functions import CallbackFunction
1313
from highcharts_core.options.plot_options.link import LinkOptions
14+
from highcharts_core.options.plot_options.levels import TreegraphLevelOptions
1415

1516

1617
class TreegraphEvents(SeriesEvents):
@@ -120,6 +121,8 @@ def __init__(self, **kwargs):
120121
self._reversed = None
121122
self._traverse_up_button = None
122123

124+
self._levels = None
125+
123126
self.animation_limit = kwargs.get('animation_limit', None)
124127
self.boost_blending = kwargs.get('boost_blending', None)
125128
self.boost_threshold = kwargs.get('boost_threshold', None)
@@ -144,6 +147,8 @@ def __init__(self, **kwargs):
144147
self.link = kwargs.get('link', None)
145148
self.reversed = kwargs.get('reversed', None)
146149

150+
self.levels = kwargs.get('levels', None)
151+
147152
super().__init__(**kwargs)
148153

149154
@property
@@ -626,7 +631,25 @@ def reversed(self, value):
626631
self._reversed = None
627632
else:
628633
self._reversed = bool(value)
629-
634+
635+
@property
636+
def levels(self) -> Optional[List[TreegraphLevelOptions]]:
637+
"""Set options on specific levels.
638+
639+
.. note::
640+
641+
Takes precedence over series options, but not point options.
642+
643+
:rtype: :class:`TreemapLevelOptions <highcharts_core.options.plot_options.levels.TreemapLevelOptions>`
644+
or :obj:`None <python:None>`
645+
"""
646+
return self._levels
647+
648+
@levels.setter
649+
@class_sensitive(TreegraphLevelOptions)
650+
def levels(self, value):
651+
self._levels = value
652+
630653
@classmethod
631654
def _get_kwargs_from_dict(cls, as_dict):
632655
"""Convenience method which returns the keyword arguments used to initialize the
@@ -699,6 +722,7 @@ class from a Highcharts Javascript-compatible :class:`dict <python:dict>` object
699722
'fill_space': as_dict.get('fillSpace', None),
700723
'link': as_dict.get('link', None),
701724
'reversed': as_dict.get('reversed', None),
725+
'levels': as_dict.get('levels', None),
702726
}
703727

704728
return kwargs
@@ -762,6 +786,7 @@ def _to_untrimmed_dict(self, in_cls = None) -> dict:
762786
'fillSpace': self.fill_space,
763787
'link': self.link,
764788
'reversed': self.reversed,
789+
'levels': self.levels,
765790
}
766791

767792
return untrimmed

highcharts_core/options/series/treegraph.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ def _get_kwargs_from_dict(cls, as_dict):
142142
'fill_space': as_dict.get('fillSpace', None),
143143
'link': as_dict.get('link', None),
144144
'reversed': as_dict.get('reversed', None),
145+
'levels': as_dict.get('levels', None),
145146

146147
'data': as_dict.get('data', None),
147148
'id': as_dict.get('id', None),

0 commit comments

Comments
 (0)