| 55 | return f"L.{self._name}" |
| 56 | |
| 57 | def render(self, **kwargs): |
| 58 | figure = self.get_root() |
| 59 | assert isinstance( |
| 60 | figure, Figure |
| 61 | ), "You cannot render this Element if it is not in a Figure." |
| 62 | if self.includes: |
| 63 | stmt = IncludeStatement(self.leaflet_class_name, **self.includes) |
| 64 | # A bit weird. I tried adding IncludeStatement directly to both |
| 65 | # figure and script, but failed. So we render this ourself. |
| 66 | figure.script.add_child( |
| 67 | Element(stmt._template.render(this=stmt, kwargs=self.includes)), |
| 68 | # make sure each class include gets rendered only once |
| 69 | name=self._name + "_includes", |
| 70 | # make sure this renders before the element itself |
| 71 | index=-1, |
| 72 | ) |
| 73 | super().render(**kwargs) |
| 74 | |
| 75 | |
| 76 | class Evented(Class): |