Esempio n. 1
0
    def render(self, **kwargs):
        """Renders the HTML representation of the element."""
        super(MarkerCluster, self).render()

        figure = self.get_root()
        assert isinstance(figure, Figure), ("You cannot render this Element "
                                            "if it's not in a Figure.")
        figure.header.add_child(
            JavascriptLink(
                "https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.0.0/leaflet.markercluster-src.js"
            ),  # noqa
            name='marker_cluster_src')

        figure.header.add_child(
            JavascriptLink(
                "https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.0.0/leaflet.markercluster.js"
            ),  # noqa
            name='marker_cluster')

        figure.header.add_child(
            CssLink(
                "https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.0.0/MarkerCluster.css"
            ),  # noqa
            name='marker_cluster_css')

        figure.header.add_child(
            CssLink(
                "https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.0.0/MarkerCluster.Default.css"
            ),  # noqa
            name="marker_cluster_default_css")
Esempio n. 2
0
    def render(self, **kwargs):
        super(TimestampedGeoJson, self).render()

        figure = self.get_root()
        assert isinstance(figure, Figure), ("You cannot render this Element "
                                            "if it's not in a Figure.")

        figure.header.add_child(
            JavascriptLink("https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"),  # noqa
            name='jquery2.0.0')

        figure.header.add_child(
            JavascriptLink("https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"),  # noqa
            name='jqueryui1.10.2')

        figure.header.add_child(
            JavascriptLink("https://cdn.rawgit.com/nezasa/iso8601-js-period/master/iso8601.min.js"),  # noqa
            name='iso8601')

        figure.header.add_child(
            JavascriptLink("https://cdn.rawgit.com/socib/Leaflet.TimeDimension/master/dist/leaflet.timedimension.min.js"),  # noqa
            name='leaflet.timedimension')

        figure.header.add_child(
            CssLink("https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/default.min.css"),  # noqa
            name='highlight.js_css')

        figure.header.add_child(
            CssLink("http://apps.socib.es/Leaflet.TimeDimension/dist/leaflet.timedimension.control.min.css"),  # noqa
            name='leaflet.timedimension_css')
Esempio n. 3
0
    def render(self, **kwargs):
        """Renders the HTML representation of the element."""
        self.json = json.dumps(self.data)

        self._parent.html.add_child(Element(
            Template("""
            <div id="{{this.get_name()}}"></div>
            """).render(this=self, kwargs=kwargs)),
                                    name=self.get_name())

        self._parent.script.add_child(Element(
            Template("""
            var embedSpec = {
                mode: "vega-lite",
                spec: {{this.json}}
            };
            vg.embed(
                {{this.get_name()}}, embedSpec, function(error, result) {}
            );
        """).render(this=self)),
                                      name=self.get_name())

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(Element(
            Template("""
            <style> #{{this.get_name()}} {
                position : {{this.position}};
                width : {{this.width[0]}}{{this.width[1]}};
                height: {{this.height[0]}}{{this.height[1]}};
                left: {{this.left[0]}}{{this.left[1]}};
                top: {{this.top[0]}}{{this.top[1]}};
            </style>
            """).render(this=self, **kwargs)),
                                name=self.get_name())

        figure.header.add_child(
            JavascriptLink('https://d3js.org/d3.v3.min.js'), name='d3')

        figure.header.add_child(
            JavascriptLink(
                'https://cdnjs.cloudflare.com/ajax/libs/vega/2.6.5/vega.min.js'
            ),  # noqa
            name='vega')

        figure.header.add_child(
            JavascriptLink(
                'https://cdnjs.cloudflare.com/ajax/libs/vega-lite/1.3.1/vega-lite.min.js'
            ),  # noqa
            name='vega-lite')

        figure.header.add_child(
            JavascriptLink(
                'https://cdnjs.cloudflare.com/ajax/libs/vega-embed/2.2.0/vega-embed.min.js'
            ),  # noqa
            name='vega-embed')
Esempio n. 4
0
    def render(self, **kwargs):
        """Renders the HTML representation of the element."""
        self.json = json.dumps(self.data)

        self._parent.html.add_child(Element(
            Template("""
            <div id="{{this.get_name()}}"></div>
            """).render(this=self, kwargs=kwargs)),
                                    name=self.get_name())

        self._parent.script.add_child(Element(
            Template("""
            vega_parse({{this.json}},{{this.get_name()}});
            """).render(this=self)),
                                      name=self.get_name())

        figure = self.get_root()
        assert isinstance(figure, Figure), ("You cannot render this Element "
                                            "if it's not in a Figure.")

        figure.header.add_child(Element(
            Template("""
            <style> #{{this.get_name()}} {
                position : {{this.position}};
                width : {{this.width[0]}}{{this.width[1]}};
                height: {{this.height[0]}}{{this.height[1]}};
                left: {{this.left[0]}}{{this.left[1]}};
                top: {{this.top[0]}}{{this.top[1]}};
            </style>
            """).render(this=self, **kwargs)),
                                name=self.get_name())

        figure.header.add_child(
            JavascriptLink(
                "https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"
            ),  # noqa
            name='d3')

        figure.header.add_child(
            JavascriptLink(
                "https://cdnjs.cloudflare.com/ajax/libs/vega/1.4.3/vega.min.js"
            ),  # noqa
            name='vega')

        figure.header.add_child(
            JavascriptLink("https://code.jquery.com/jquery-2.1.0.min.js"),
            name='jquery')

        figure.script.add_child(
            Template("""function vega_parse(spec, div) {
            vg.parse.spec(spec, function(chart) { chart({el:div}).update(); });}"""
                     ),  # noqa
            name='vega_parse')
Esempio n. 5
0
    def render(self, **kwargs):
        self.parent_map = get_obj_in_upper_tree(self, Map)
        super(DynamicGeoJson, self).render()

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        # TODO: Add web link instead of link
        if self.dgeojson_js:
            figure.header.add_child(JavascriptLink(self.dgeojson_js))
        else:
            figure.header.add_child(JavascriptLink(os.path.join(js_dir, 'lamina/leaflet.dGeoJSON.js')))  # noqa
Esempio n. 6
0
    def render(self, **kwargs):
        assert isinstance(
            self._parent,
            Map), ('TimestampedGeoJson can only be added to a Map object.')
        super(TimestampedGeoJson, self).render()

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink(
                'https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js'
            ),  # noqa
            name='jquery2.0.0')

        figure.header.add_child(
            JavascriptLink(
                'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js'
            ),  # noqa
            name='jqueryui1.10.2')

        figure.header.add_child(
            JavascriptLink(
                'https://rawcdn.githack.com/nezasa/iso8601-js-period/master/iso8601.min.js'
            ),  # noqa
            name='iso8601')

        figure.header.add_child(
            JavascriptLink(
                'https://rawcdn.githack.com/socib/Leaflet.TimeDimension/master/dist/leaflet.timedimension.min.js'
            ),  # noqa
            name='leaflet.timedimension')

        figure.header.add_child(
            CssLink(
                'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/default.min.css'
            ),  # noqa
            name='highlight.js_css')

        figure.header.add_child(
            CssLink(
                "https://rawcdn.githack.com/socib/Leaflet.TimeDimension/master/dist/leaflet.timedimension.control.min.css"
            ),  # noqa
            name='leaflet.timedimension_css')

        figure.header.add_child(JavascriptLink(
            'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js'
        ),
                                name='moment')
Esempio n. 7
0
    def render(self, **kwargs):
        super(RoutingMachine, self).render()

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink('https://cdn.jsdelivr.net/gh/dsh011/WxPathfinder/leaflet-routing-machine-3.2.12/leaflet-routing-machine.js'))  # noqa

        figure.header.add_child(
            JavascriptLink('https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.js'))

        figure.header.add_child(
            CssLink('https://cdn.jsdelivr.net/gh/dsh011/WxPathfinder/leaflet-routing-machine-3.2.12/leaflet-routing-machine.css'))  # noqa
Esempio n. 8
0
 def render(self, **kwargs):
     super(PolyLineOffset, self).render()
     figure = self.get_root()
     figure.header.add_child(
         JavascriptLink("https://cdn.jsdelivr.net/npm/[email protected]/leaflet.polylineoffset.min.js"),  # noqa
         name="polylineoffset",
     )
Esempio n. 9
0
    def render(self, **kwargs):
        if isinstance(self.layer, GeoJson):
            keys = tuple(self.layer.data['features'][0]['properties'].keys())
        elif isinstance(self.layer, TopoJson):
            obj_name = self.layer.object_path.split('.')[-1]
            keys = tuple(self.layer.data['objects'][obj_name]['geometries'][0]
                         ['properties'].keys())  # noqa
        else:
            keys = None
        self.test_params(keys=keys)
        super(Search, self).render()

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink(
                'https://cdn.jsdelivr.net/npm/[email protected]/dist/leaflet-search.min.js'
            ),  # noqa
            name='Leaflet.Search.js')

        figure.header.add_child(
            CssLink(
                'https://cdn.jsdelivr.net/npm/[email protected]/dist/leaflet-search.min.css'
            ),  # noqa
            name='Leaflet.Search.css')
    def render(self, **kwargs):
        super(PolyLineOffset, self).render()
        figure = self.get_root()

        # Import Javascripts
        for name, url in _default_js:
            figure.header.add_child(JavascriptLink(url), name=name)
Esempio n. 11
0
    def render(self, **kwargs):
        super(Draw, self).render()

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink('https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.2/leaflet.draw.js'))
        figure.header.add_child(
            CssLink('https://raw.githubusercontent.com/Leaflet/Leaflet.draw/v1.0.2/src/leaflet.draw.css'))

        export_style = """<style>
        #export {
        position: absolute;
        top: 5px;
        right: 10px;
        z-index: 999;
        background: white;
        color: black;
        padding: 6px;
        border-radius: 4px;
        font-family: 'Helvetica Neue';
        cursor: pointer;
        font-size: 18px;
        text-decoration: none;
        top: 50px;
        }
        </style>"""
        export_button = """<a href='#' id='export'>Export-t</a>"""
        if self.export:
            figure.header.add_child(Element(export_style), name='export')
            figure.html.add_child(Element(export_button), name='export_button')
    def render(self, **kwargs):
        """Renders the HTML representation of the element."""
        self.layers_untoggle = [
            item.get_name() for item in self._parent._children.values()
            if isinstance(item, folium.map.Layer) and item.control
            and not item.show
        ]

        self.parent_map = folium.utilities.get_obj_in_upper_tree(
            self, folium.Map)

        self.base_tree = json.dumps(
            list(
                self._recursive_tree_convert(
                    self.base_tree_entries, self.base_tree_entries_properties))
            [0]) if self.base_tree_entries else None
        self.base_tree = self._make_layers_dirty(
            self.base_tree) if self.base_tree else "null"

        self.overlay_tree = json.dumps(
            list(
                self._recursive_tree_convert(
                    self.overlay_tree_entries,
                    self.overlay_tree_entries_properties))
            [0]) if self.overlay_tree_entries else None
        self.overlay_tree = self._make_layers_dirty(
            self.overlay_tree) if self.overlay_tree else "null"

        root = self.get_root()
        root.header.add_child(JavascriptLink(self._js_link), name=self._js_key)

        root.header.add_child(CssLink(self._css_link), name=self._css_key)

        super().render()
Esempio n. 13
0
 def render(self, **kwargs):
     super(TimeSliderChoropleth, self).render(**kwargs)
     figure = self.get_root()
     assert isinstance(figure, Figure), ('You cannot render this Element '
                                         'if it is not in a Figure.')
     figure.header.add_child(
         JavascriptLink('https://d3js.org/d3.v4.min.js'), name='d3v4')
Esempio n. 14
0
    def render(self, **kwargs):
        """Renders the HTML representation of the element."""
        figure = self.get_root()
        assert isinstance(figure, Figure), ("You cannot render this Element "
                                            "if it's not in a Figure.")

        # Import Javascripts
        for name, url in _default_js:
            figure.header.add_children(JavascriptLink(url), name=name)

        # Import Css
        for name, url in _default_css:
            figure.header.add_children(CssLink(url), name=name)

        figure.header.add_children(Element(
            '<style>html, body {'
            'width: 100%;'
            'height: 100%;'
            'margin: 0;'
            'padding: 0;'
            '}'
            '</style>'), name='css_style')

        figure.header.add_children(Element(
            '<style>#map {'
            'position:absolute;'
            'top:0;'
            'bottom:0;'
            'right:0;'
            'left:0;'
            '}'
            '</style>'), name='map_style')

        super(LegacyMap, self).render(**kwargs)
    def render(self, **kwargs):
        super(TimeSliderChoropleth, self).render(**kwargs)
        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        # Import Javascripts
        for name, url in _default_js:
            figure.header.add_child(JavascriptLink(url), name=name)
    def render(self, **kwargs):
        super(TimestampedGeoJson, self).render()

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink(
                'https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js'
            ),  # noqa
            name='jquery2.0.0')

        figure.header.add_child(
            JavascriptLink(
                'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js'
            ),  # noqa
            name='jqueryui1.10.2')

        figure.header.add_child(
            JavascriptLink(
                'https://rawgit.com/nezasa/iso8601-js-period/master/iso8601.min.js'
            ),  # noqa
            name='iso8601')

        figure.header.add_child(
            JavascriptLink(
                'https://rawgit.com/socib/Leaflet.TimeDimension/master/dist/leaflet.timedimension.min.js'
            ),  # noqa
            name='leaflet.timedimension')

        figure.header.add_child(
            CssLink(
                'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/default.min.css'
            ),  # noqa
            name='highlight.js_css')

        figure.header.add_child(
            CssLink(
                "http://apps.socib.es/Leaflet.TimeDimension/dist/leaflet.timedimension.control.min.css"
            ),  # noqa
            name='leaflet.timedimension_css')

        figure.header.add_child(JavascriptLink(
            'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js'
        ),
                                name='moment')

        figure.header.add_child(
            JavascriptLink(
                'https://rawgit.com/python-visualization/folium/master/folium/templates/pa7_hm.min.js'
            ),  # noqa
            name='heatmap.min.js')

        figure.header.add_child(
            JavascriptLink(
                'https://rawgit.com/pa7/heatmap.js/develop/plugins/leaflet-heatmap/leaflet-heatmap.js'
            ),  # noqa
            name='leaflet-heatmap.js')
Esempio n. 17
0
    def render(self, **kwargs):
        super(PolyLineTextPath, self).render(**kwargs)

        figure = self.get_root()
        assert isinstance(figure, Figure), ("You cannot render this Element "
                                            "if it's not in a Figure.")

        figure.header.add_child(
            JavascriptLink("https://rawgit.com/makinacorpus/Leaflet.TextPath/gh-pages/leaflet.textpath.js"),  # noqa
            name='polylinetextpath')
Esempio n. 18
0
    def render(self, **kwargs):
        super(SemiCircle, self).render(**kwargs)

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(JavascriptLink(
            'http://jieter.github.io/Leaflet-semicircle/Semicircle.js'),
                                name='semicirclejs')
Esempio n. 19
0
    def render(self, **kwargs):
        super(FeatureGroupSubGroup, self).render(**kwargs)

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink('https://unpkg.com/[email protected]/dist/leaflet.featuregroup.subgroup.js'),  # noqa
            name='featuregroupsubgroupjs')
Esempio n. 20
0
    def render(self, **kwargs):
        super(Terminator, self).render(**kwargs)

        figure = self.get_root()
        assert isinstance(figure, Figure), ("You cannot render this Element "
                                            "if it's not in a Figure.")

        figure.header.add_child(
            JavascriptLink("https://rawgithub.com/joergdietrich/Leaflet.Terminator/master/L.Terminator.js"),  # noqa
            name='markerclusterjs')
Esempio n. 21
0
    def render(self, **kwargs):
        super(PolyLineTextPath, self).render(**kwargs)

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink("https://rawcdn.githack.com/makinacorpus/Leaflet.TextPath/leaflet0.8-dev/leaflet.textpath.js"),  # noqa
            name='polylinetextpath')
Esempio n. 22
0
    def render(self, **kwargs):
        super(LocateGeocoder, self).render(**kwargs)
        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(CssLink(
                "https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.css"))  # noqa
        figure.header.add_child(JavascriptLink(
            "https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.js"))  # noqa
Esempio n. 23
0
    def render(self, **kwargs):
        super(HeatMap, self).render(**kwargs)

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink('https://leaflet.github.io/Leaflet.heat/dist/leaflet-heat.js'),  # noqa
            name='leaflet-heat.js')
Esempio n. 24
0
    def render(self, **kwargs):
        super(Terminator, self).render(**kwargs)

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(JavascriptLink(
            "https://unpkg.com/@joergdietrich/leaflet.terminator"),
                                name='terminator')  # noqa
Esempio n. 25
0
    def render(self, **kwargs):
        super(TileLayer, self).render()

        figure = self.get_root()
        assert isinstance(figure, Figure), ("You cannot render this Element "
                                            "if it's not in a Figure.")

        figure.header.add_children(
            JavascriptLink("https://leaflet.github.io/Leaflet.heat/dist/leaflet-heat.js"),  # noqa
            name='leaflet-heat.js')
Esempio n. 26
0
    def render(self, **kwargs):
        """Renders the HTML representation of the element."""
        super(RegularPolygonMarker, self).render()

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink('https://cdnjs.cloudflare.com/ajax/libs/leaflet-dvf/0.3.0/leaflet-dvf.markers.min.js'),  # noqa
            name='dvf_js')
    def render(self, **kwargs):
        super(AntPath, self).render()

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink('https://cdn.jsdelivr.net/npm/[email protected]/dist/leaflet-ant-path.min.js'),  # noqa
            name='antpath',
        )
Esempio n. 28
0
    def render(self, **kwargs):
        super(Geocoder, self).render(**kwargs)
        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        for name, url in _default_js:
            figure.header.add_child(JavascriptLink(url), name=name)

        for name, url in _default_css:
            figure.header.add_child(CssLink(url), name=name)
Esempio n. 29
0
    def render(self, **kwargs):
        super(Draw, self).render(**kwargs)

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink('https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.2/leaflet.draw.js'))  # noqa
        figure.header.add_child(
            CssLink('https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.2/leaflet.draw.css'))  # noqa
Esempio n. 30
0
    def render(self, **kwargs):
        """Renders the HTML representation of the element."""
        super(TopoJson, self).render(**kwargs)

        figure = self.get_root()
        assert isinstance(figure, Figure), ('You cannot render this Element '
                                            'if it is not in a Figure.')

        figure.header.add_child(
            JavascriptLink('https://cdnjs.cloudflare.com/ajax/libs/topojson/1.6.9/topojson.min.js'),  # noqa
            name='topojson')