define( ["text!./HtmlSlider.css"], function( sCSS ) {
"use strict";
function C_HtmlSlider()
{
};
C_HtmlSlider.prototype.draw = function( oControlHost )
{
var sValueTextItem = oControlHost.configuration ? oControlHost.configuration["Value text item"] : "";
this.m_oValueTextItem = sValueTextItem ? oControlHost.page.getControlByName( sValueTextItem ) : null;
this.m_sParameter = oControlHost.configuration ? oControlHost.configuration.Parameter : "pMin";
var sRangeType = ( oControlHost.configuration ? oControlHost.configuration["Range type"] : "" ) || "min";
var oParameter = oControlHost.getParameter( this.m_sParameter );
var sParameterValue = ( oParameter && ( oParameter.values.length > 0 ) ) ? oParameter.values[0].use : ( ( sRangeType == "min" ) ? this.m_max : this.m_min ) || 0;
var sHtml = '';
sHtml += '';
var el = oControlHost.container;
el.innerHTML = sHtml;
this.m_input = el.querySelector( "input" );
this.onChange( oControlHost );
this.m_input.onchange = this.onChange.bind( this, oControlHost, false );
this.m_input.onmouseup = this.onMouseUp.bind( this, oControlHost, true );
};
C_HtmlSlider.prototype.onChange = function( oControlHost, bAutoSubmit )
{
oControlHost.valueChanged();
if ( this.m_oValueTextItem )
{
this.m_oValueTextItem.text = this.m_input.value;
}
if ( bAutoSubmit )
{
oControlHost.next();
}
};
C_HtmlSlider.prototype.onMouseUp = function( oControlHost, bAutoSubmit )
{
this.onChange( oControlHost, bAutoSubmit );
};
C_HtmlSlider.prototype.setData = function( oControlHost, oDataStore )
{
this.m_min = oDataStore.getCellValue( 0, 0 );
this.m_max = oDataStore.getCellValue( 0, 1 );
};
C_HtmlSlider.prototype.getParameters = function()
{
var sValue = this.m_input.value;
return [{
"parameter": this.m_sParameter,
"values": [{ "use" : sValue }]
}];
};
return C_HtmlSlider;
});