123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- define( function() {
- "use strict";
- function C_HtmlSelect()
- {
- };
- C_HtmlSelect.prototype.draw = function( oControlHost )
- {
- var oParameter = oControlHost.getParameter( "pl" );
- var sParameterValue = ( oParameter && ( oParameter.values.length > 0 ) ) ? oParameter.values[0].use : "";
- var sHtml = '<select size="1" style="font-size:12pt;">';
- sHtml += '<option disabled="true">(Choose a product line)</option>';
- var iRowCount = this.m_oDataStore.rowCount;
- for ( var iRow = 0; iRow < iRowCount; iRow++ )
- {
- var sValue = this.m_oDataStore.getCellValue( iRow, 0 );
- var bSelected = sParameterValue && ( sValue == sParameterValue );
- sHtml += '<option ' + ( bSelected ? ' selected="true"' : '' ) + '>' + sValue + '</option>';
- }
- sHtml += '</select>';
- var el = oControlHost.container;
- el.innerHTML = sHtml;
- this.m_sel = el.querySelector( "*" );
- if ( !sParameterValue )
- {
- this.m_sel.selectedIndex = 0;
- }
- this.f_onChange( oControlHost );
- this.m_sel.onchange = this.f_onChange.bind( this, oControlHost, true );
- };
- C_HtmlSelect.prototype.f_onChange = function( oControlHost, bAutoSubmit )
- {
- oControlHost.valueChanged();
- if ( bAutoSubmit )
- {
- oControlHost.next();
- }
- };
- C_HtmlSelect.prototype.setData = function( oControlHost, oDataStore )
- {
- this.m_oDataStore = oDataStore;
- };
- C_HtmlSelect.prototype.getParameters = function()
- {
- if ( this.m_sel.selectedIndex < 1 )
- {
- return null;
- }
- var sValue = this.m_sel.options[this.m_sel.selectedIndex].value;
- return [{
- "parameter": "pl",
- "values": [{ "use" : sValue }]
- }];
- };
- C_HtmlSelect.prototype.isInValidState = function()
- {
- return ( this.m_sel.selectedIndex > 0 );
- };
- return C_HtmlSelect;
- });
|