Difference between revisions of "Widget:SpaceAPI"

From Hackerspace ACKspace
Jump to: navigation, search
m (fixed popup bug (wrong item returned))
m (added follow toggle machanism)
Line 119: Line 119:
 
                     }).addTo( this._beacon.map );
 
                     }).addTo( this._beacon.map );
  
                     // TODO: "Follow" control
+
                     // "Follow" control
 
                     this._beacon.follow = true;
 
                     this._beacon.follow = true;
 +
                    L.Control.Command = L.Control.extend(
 +
                    {
 +
                        options:
 +
                        {
 +
                            position: 'topleft',
 +
                        },
 +
               
 +
                        onAdd: function( _map )
 +
                        {
 +
                            var controlDiv = L.DomUtil.create( "div", "leaflet-bar" );
 +
                            var controlUI = L.DomUtil.create( "a", "leaflet-clickable" + (this._beacon.follow ? " toggle" : ""), controlDiv );
 +
                            controlUI.innerHTML = "⌖";
 +
                            controlUI.style.fontSize = "35px";
 +
                            controlUI.title = 'Follow';
 +
               
 +
                            L.DomEvent.addListener( controlUI, 'click', function( _evt )
 +
                            {
 +
                                this._beacon.follow = !this._beacon.follow;
 +
                                _evt.currentTarget.className = "leaflet-clickable" + (this._beacon.follow ? " toggle" : "");
 +
               
 +
                                console.log( _evt.currentTarget, this )
 +
                            }.bind( this ) );
 +
               
 +
                            return controlDiv;
 +
                        }.bind( this )
 +
                    } );
  
 
                     // Icons
 
                     // Icons
Line 285: Line 311:
 
                 this._beacon.marker.setLatLng( this._beacon.point );
 
                 this._beacon.marker.setLatLng( this._beacon.point );
 
                 this._beacon.circle.setLatLng( this._beacon.point );
 
                 this._beacon.circle.setLatLng( this._beacon.point );
                 this._beacon.map.setView( this._beacon.point, 16, {} );
+
                 if ( this._beacon.follow )
 +
                    this._beacon.map.setView( this._beacon.point, 16, {} );
 
             }
 
             }
 
         };
 
         };

Revision as of 09:38, 12 May 2016

This widget allows you to display the Space API data (provided as JSON)

Created by Xopr

Using this widget

To insert this widget, use the following code:

{{#widget:SpaceAPI
|url=/spaceAPI/
|width=260px
|height=20px
|padding=8px
|interval=20
|float=right
}}

This will give the following result:

Notes

  • url is mandatory, the rest is optional (leave out interval to make the data static).
    it also must be written without protocol since colon (:) is not allowed, and may be relative, for example: //ackspace.nl/spaceAPI/ or /spaceAPI/
  • You must provide a unit for the sizes (i.e. px, %, etc.)

Copy to your site

To use this widget on your site, just install MediaWiki Widgets extension and copy full source code of this page to your wiki as Widget:SpaceAPI article.