Difference between revisions of "Widget:SpaceAPI"
m (added last update timestamp popup) |
m (fixed timestamp, testing animation classname) |
||
Line 227: | Line 227: | ||
this._beacon.point = L.latLng( this.data.sensors.beacon[0].location.lat, this.data.sensors.beacon[0].location.lon ); | this._beacon.point = L.latLng( this.data.sensors.beacon[0].location.lat, this.data.sensors.beacon[0].location.lon ); | ||
this._beacon.circle.setRadius( this.data.sensors.beacon[0].location.accuracy ); | this._beacon.circle.setRadius( this.data.sensors.beacon[0].location.accuracy ); | ||
+ | |||
+ | var delta = (Date.now() - new Date( this.data.sensors.beacon[0].ext_lastchange * 1000 )) / 1000; | ||
+ | var postfix = "s"; | ||
+ | if ( this._beacon.icons[ this.data.sensors.beacon[0].name ] ) | ||
+ | this._beacon.icons[ this.data.sensors.beacon[0].name ].options.className = delta > 60 ? "disconnected" : ""; | ||
+ | |||
+ | // s->m | ||
+ | if ( delta / 60 > 1 ) | ||
+ | { | ||
+ | delta =/ 60; | ||
+ | postfix = "m"; | ||
+ | } | ||
+ | // m->h (starting @ 90m) | ||
+ | if ( delta / 90 > 1 ) | ||
+ | { | ||
+ | delta =/ 60; | ||
+ | postfix = "h"; | ||
+ | } | ||
+ | // h->d | ||
+ | if ( delta / 24 > 1 ) | ||
+ | { | ||
+ | delta =/ 24; | ||
+ | postfix = "d"; | ||
+ | } | ||
+ | // d->w | ||
+ | if ( delta / 7 > 1 ) | ||
+ | { | ||
+ | delta =/ 7; | ||
+ | postfix = "W"; | ||
+ | } | ||
+ | // w->m (@8) | ||
+ | if ( delta / 8 > 1 ) | ||
+ | { | ||
+ | delta = ( delta * 7 / 30.436875 ); | ||
+ | postfix = "M"; | ||
+ | } | ||
+ | // m->y | ||
+ | if ( delta / 12 > 1 ) | ||
+ | { | ||
+ | delta /= 12; | ||
+ | postfix = "Y"; | ||
+ | } | ||
+ | this._beacon.marker.bindPopup( "Hackers on a Bike<br/>Last update: " + Math.round( delta ) + postfix + " ago" ); | ||
this._beacon.marker.setIcon( this._beacon.icons[ this.data.sensors.beacon[0].name ] || new L.Icon.Default() ); | this._beacon.marker.setIcon( this._beacon.icons[ this.data.sensors.beacon[0].name ] || new L.Icon.Default() ); | ||
− | |||
− | |||
} | } | ||
else | else |
Revision as of 08:37, 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.