You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2008/11/12 06:20:16 UTC

svn commit: r713267 - /felix/trunk/webconsole/src/main/resources/res/ui/events.js

Author: cziegeler
Date: Tue Nov 11 21:20:15 2008
New Revision: 713267

URL: http://svn.apache.org/viewvc?rev=713267&view=rev
Log:
Refactor js to make it better reusable for other plugins

Modified:
    felix/trunk/webconsole/src/main/resources/res/ui/events.js

Modified: felix/trunk/webconsole/src/main/resources/res/ui/events.js
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/resources/res/ui/events.js?rev=713267&r1=713266&r2=713267&view=diff
==============================================================================
--- felix/trunk/webconsole/src/main/resources/res/ui/events.js (original)
+++ felix/trunk/webconsole/src/main/resources/res/ui/events.js Tue Nov 11 21:20:15 2008
@@ -14,20 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-function render() {
-    renderStatusLine();
-    renderTable( ["Received", "Topic", "Properties"] );
-    renderStatusLine();	
-}
-
 function renderStatusLine() {
-	document.write( "<div class='fullwidth'>");
+    document.write( "<div class='fullwidth'>");
     document.write( "<div class='statusline'></div>" );
     document.write( "</div>" );
 }
 
-function renderTable( /* Array of String */ columns ) {
-    renderButtons();
+function renderView( /* Array of String */ columns, /* Array of String */ buttons ) {
+    renderStatusLine();
+    renderButtons(buttons);
 	document.write( "<div class='table'>");
     document.write( "<table id='events' class='tablelayout'>" );
 
@@ -38,14 +33,18 @@
     document.write( "</tr></thead><tbody>" );
     document.write( "</tbody></table>" );
     document.write( "</div>");
-    renderButtons();
+    renderButtons(buttons);
+    renderStatusLine();	
 }
 
-function renderButtons( ) {
+function renderButtons( buttons ) {
 	document.write( "<div class='fullwidth'>");
     document.write( "<div class='buttons'>" );
-    document.write( "<div class='button'><button id='reloadButton' type='button' name='reload'>Reload</button></div>" );
-    document.write( "<div class='button'><button id='clearButton' type='button' name='clear'>Clear List</button></div>" );
+    for( var b in buttons ) {
+    	document.write( "<div class='button'>");
+    	document.write(buttons[b]);
+    	document.write( "</div>");
+    }
     document.write( "</div>" );
     document.write( "</div>" );
 }
@@ -70,7 +69,7 @@
     var topic = dataEntry.topic;
     var properties = dataEntry.properties;
 
-    parent.appendChild( td( null, null, [ text( new Date(dataEntry.received) ) ] ) );
+    parent.appendChild( td( null, null, [ text( printDate(dataEntry.received) ) ] ) );
     parent.appendChild( td( null, null, [ text( topic ) ] ) );
 
     var propE;
@@ -91,6 +90,12 @@
     parent.appendChild( td( null, null, [propE] ) );
 }
 
+/* displays a date in the user's local timezone */
+function printDate(time) {
+    var date = time ? new Date(time) : new Date();
+    return date.toLocaleString();
+}
+
 function loadData() {
 	$.get(pluginRoot + "/data.json", null, function(data) {
 	    renderData(data);
@@ -98,7 +103,9 @@
 }
 
 function renderEvents() {
-	render();
+    renderView( ["Received", "Topic", "Properties"],
+    		["<button id='reloadButton' type='button' name='reload'>Reload</button>",
+    		 "<button id='clearButton' type='button' name='clear'>Clear List</button>"]);
 	
     loadData();