define( function() {
"use strict";
var g_aDataStores = [];
function C_DataStoreViewer()
{
};
C_DataStoreViewer.prototype.draw = function( oControlHost )
{
var aDataStores = g_aDataStores;
var o = oControlHost.configuration;
if ( o && o["Control name"] )
{
var oControl = oControlHost.page.getControlByName( o["Control name"] );
aDataStores = o["Data store name"] ? [oControl.getDataStore( o["Data store name"] )] : oControl.dataStores;
}
var aHtml = [];
aHtml.push( '
' );
for ( var i = 0; i < aDataStores.length; i++ )
{
aHtml.push( '' );
this.drawDataStore( aDataStores[i], aHtml );
aHtml.push( ' | ' );
}
aHtml.push( '
' );
var el = oControlHost.container;
el.innerHTML = aHtml.join( "" );
var nl = el.querySelectorAll( ".DataStoreViewerScrollableDiv" );
for ( var i = 0; i < nl.length; i++ )
{
var div = nl.item( i );
if ( div.offsetHeight > 400 )
{
div.style.height = "400px";
}
}
};
C_DataStoreViewer.prototype.drawDataStore = function( oDataStore, aHtml )
{
var iColCount = oDataStore.columnCount;
var iRowCount = oDataStore.rowCount;
aHtml.push( '' );
aHtml.push( '' );
aHtml.push( '' + ( this.F_HTMLEncode( oDataStore.name ) || 'DataStore' ) + ' | [' + oDataStore.index + '] | ' );
aHtml.push( ' ' );
aHtml.push( ' # of rows:' + iRowCount + ' ' );
aHtml.push( '' );
aHtml.push( ' |
' );
};
C_DataStoreViewer.prototype.setData = function( oControlHost, oDataStore )
{
g_aDataStores[oDataStore.index] = oDataStore;
};
C_DataStoreViewer.prototype.F_HTMLEncode = function( s )
{
return String( s ).replace( /&/g, "&" ).replace( //g, ">" );
};
return C_DataStoreViewer;
});