Difference between revisions of "Widget:SpaceAPI"

From Hackerspace ACKspace
Jump to: navigation, search
m (added safety check)
m (updated annex states as part up update mechanism)
Line 483: Line 483:
 
( document.head || document.documentElement ).appendChild( srcNode );
 
( document.head || document.documentElement ).appendChild( srcNode );
 
} // beacon
 
} // beacon
 
if ( this._features.split(",").indexOf( "annex" ) >= 0 )
 
{
 
(this.data&&this.data.ext_annexes||[]).forEach(function(_d,_i)
 
{
 
var depnode = node.appendChild( document.createElement( "div" ) );
 
depnode.style.position = "absolute";
 
depnode.style.width = "0.4em";
 
depnode.style.height = "0.4em";
 
depnode.style.top = "calc(2em+16px)";
 
depnode.style.right = (0.4 * _i) + "em";
 
depnode.style.backgroundColor = _d.state?"green":"red";
 
depnode.title = _d.name;
 
});
 
}
 
  
 
// Update the space state immediately
 
// Update the space state immediately
Line 847: Line 832:
 
}
 
}
 
}
 
}
 +
} // leaflet
 +
 +
if ( this._features.split(",").indexOf( "annex" ) >= 0 )
 +
{
 +
[].forEach.call(document.querySelectorAll(".state.annex"),function(_n)
 +
{
 +
his._node.removeChild( _n );
 +
});
 +
 +
(this.data&&this.data.ext_annexes||[]).forEach(function(_d,_i)
 +
{
 +
var anode = his._node.appendChild( document.createElement( "div" ) );
 +
anode.style.position = "absolute";
 +
anode.style.width = "0.4em";
 +
anode.style.height = "0.4em";
 +
anode.style.top = "calc(2em + 10px)";
 +
anode.style.right = (0.4 * _i) + "em";
 +
anode.style.backgroundColor = _d.state?"green":"red";
 +
anode.style.zIndex = 500;
 +
anode.className = "state annex";
 +
anode.title = _d.name;
 +
});
 
}
 
}
 
};
 
};

Revision as of 10:51, 21 December 2018

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=300px
|padding=8px
|interval=20
|float=right
|features=beacon,annex
}}

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.