UNPKG

dashboard

Version:

Create dashboards with gadgets on node.js

133 lines (106 loc) 3.99 kB
<?xml version="1.0" encoding="UTF-8" ?> <!-- kml_sandbox.xml --> <!-- Author: Ian Smith (imsmith@uw.edu) --> <Module> <ModulePrefs title="KML Sandbox" height="200" scrolling="true"> <Require feature="dynamic-height"/> <Require feature="opensocial-0.9"/> <Require feature="minimessage"/> </ModulePrefs> <Content type="html"><![CDATA[ <script src="js/DataInterface.js" type="text/javascript"></script> <script src="js/widgetlib1.js" type="text/javascript"></script> <script src="js/astroObjectLib.js" type="text/javascript"></script> <div id="divKML"> <table> <TBODY><tr> <td>KML: </td><td><textarea id="taKML_TEXT" rows="6" cols="50"/></td> </tr> <TR> <td colspan="2"> <input id="btKML_SUBMIT" onclick="ks.writeKML();" type="button" value="Write KML"/> </td> </TR> <TR> <td colspan="2"> <input id="btKML_CLEARLIST" onclick="ks.clearKMLList();" type="button" value="Clear All KML"/> </td> </TR> <!-- REMOVED <TR> <td colspan="2"> <input id="btKML_WRITE_500_POINTS" onclick="ks.writeRandomPoints(500);" type="button" value="Write 500 Points"/> </td> </TR> --> </TBODY></table> </div> <script type="text/javascript"> // KML Sandbox object is global var ks = null, DEBUG = false; function debugLog(msg){ if(DEBUG){UW.astro.debugLog(GADGET_NAME + ": " + msg);}} // CONSTANTS var GADGET_NAME = "KML_Sandbox" + "_" + Math.floor(Math.random()*100000).toString(); // create InputCoords object function init(){ ks = new KMLSandbox(); } function KMLSandbox(){ var my = new Object(); // CONSTANTS // PRIVATE var _namespaceList = [ UW.astro.DEFAULT_NAMESPACE ]; // list of our current Namespaces. Just init with the default // Private Helper Variables var di = new UW.astro.DataInterface(GADGET_NAME); // make dataInterface object, init with default // INIT gadgets.window.adjustHeight(); di.registerMe( { namespaceList : _namespaceList, variableList : [ "KML_List", "Viewport_Point_List" ], triggerList : [], } ); // METHODS // Coordinates are entered, tell the DataInterface my.writeKML = function(){ debugLog("Writing KML..."); var kml = (document.getElementById("taKML_TEXT").value).toString(); var kmlList = di.readVariable(UW.astro.DEFAULT_NAMESPACE, "KML_List"); if (kmlList === null){ kmlList = []; } kmlList.push(kml); // JUST A TEST, WILL WANT TO CHANGE NS IN THE FUTURE if (di.writeVariable(UW.astro.DEFAULT_NAMESPACE, "KML_List", kmlList)){ debugLog('Wrote variable "KML_List"'); } } my.clearKMLList = function(){ debugLog("Clearing KML List..."); // first clear the KML_List var kmlList = di.readVariable(UW.astro.DEFAULT_NAMESPACE, "KML_List"); di.writeVariable(UW.astro.DEFAULT_NAMESPACE, "KML_List", []); // next clear the Viewport_Point_List var kmlList = di.readVariable(UW.astro.DEFAULT_NAMESPACE, "Viewport_Point_List"); di.writeVariable(UW.astro.DEFAULT_NAMESPACE, "Viewport_Point_List", new UW.astro.UniqIdList()); } my.writeRandomPoints = function(num){ // Viewport_Point_List is a UniqIdList var pointList = di.readVariable(UW.astro.DEFAULT_NAMESPACE, "Viewport_Point_List"); if (pointList === null){ pointList = new UW.astro.UniqIdList(); } for (var i=0; i<num; i++){ var ra = Math.random()*24; var dec = Math.random()*180 - 90; var point = new UW.astro.CelestialCoordinate(ra, dec); pointList.append(point); } di.writeVariable(UW.astro.DEFAULT_NAMESPACE, "Viewport_Point_List", pointList); } return my; } gadgets.util.registerOnLoadHandler(init); </script> ]]></Content> </Module>