diff options
| author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-13 09:49:11 +0000 | 
|---|---|---|
| committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-13 09:49:11 +0000 | 
| commit | e44a7e37b6c7b5961adaffc62b9042b8d442938e (patch) | |
| tree | 95b67c356e93163467db2451f2b8cce84ed5d582 /includes/js/dijit/tests/form/test_ComboBox.html | |
| parent | a62b9742ee5e28bcec6872d88f50f25b820914f6 (diff) | |
| download | semanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.gz semanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.bz2 | |
New feature: basic Ajax suggestion for tags and implementation of Dojo toolkit
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@151 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'includes/js/dijit/tests/form/test_ComboBox.html')
| -rw-r--r-- | includes/js/dijit/tests/form/test_ComboBox.html | 289 | 
1 files changed, 289 insertions, 0 deletions
| diff --git a/includes/js/dijit/tests/form/test_ComboBox.html b/includes/js/dijit/tests/form/test_ComboBox.html new file mode 100644 index 0000000..895a968 --- /dev/null +++ b/includes/js/dijit/tests/form/test_ComboBox.html @@ -0,0 +1,289 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" +		"http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +	<title>Dojo ComboBox Widget Test</title> + +	<style> +		@import "../../../dojo/resources/dojo.css"; +		@import "../css/dijitTests.css"; +		.dj_ie INPUT#setvaluetest { font-family: Courier; } /* help IE with font inheritance +	</style> + +	<script type="text/javascript" src="../../../dojo/dojo.js" +		djConfig="isDebug: true, parseOnLoad: true"></script> +	<script type="text/javascript" src="../_testCommon.js"></script> + +	<script type="text/javascript"> +		dojo.require("dojo.data.ItemFileReadStore"); +		dojo.require("dijit.form.ComboBox"); +		dojo.require("dojo.parser");	// scan page for widgets and instantiate them + +		function setVal1(val){ +			dojo.byId('value1').value=val; +		} +		function setVal2(val){ +			dojo.byId('value2').value=val; +			console.debug("Value changed to ["+val+"] in second ComboBox (#1652)"); +		} +		function setVal3(val){ +			dojo.byId('value3').value=val; +		} +		function setVal4(val){ +			dojo.byId('value4').value=val; +		} +		var combo; +		function init(){ +			var store = new dojo.data.ItemFileReadStore({url: '../_data/states.json'}); +			combo = new dijit.form.ComboBox({ +				name:"prog", +				autoComplete:false, +				store: store, +				searchAttr:"name" +			}, dojo.byId("progCombo")); + +			var store2 = new dojo.data.ItemFileReadStore({url: '../../demos/i18n/data.json'}); +			combo = new dijit.form.ComboBox({ +				name:"prog2", +				autoComplete:false, +				store:store2, +				query:{type:'country'}, +				searchAttr:"name" +			}, dojo.byId("progCombo2")); +		} +		dojo.addOnLoad(init); + +		function toggleDisabled(button, widget){ +			widget = dijit.byId(widget); +			button = dojo.byId(button); +			widget.setAttribute('disabled',!widget.disabled); +			button.innerHTML= widget.disabled ? "Enable" : "Disable"; +		} +	</script> +</head> + +<body> +<h1>Dojo ComboBox Widget Test</h1> +<p> +A ComboBox is like a text <input> field (ie, you can input any value you want), +but it also has a list of suggested values that you can choose from. +The drop down list is filtered by the data you have already typed in. +</p> +<form action="#" method="GET"> + +	<p>ComboBox #1: inlined data, autoComplete=false, default value of Iowa, pageSize=30</p> +	<label for="setvaluetest">US State test 1</label> (200% Courier font): +	<select id="setvaluetest" +			name="state1" +			dojoType="dijit.form.ComboBox" +			class="medium" +			style="width:50%;font-size:200%;font-family:Courier;" +			name="foo.bar1" +			autoComplete="false" +			onChange="dojo.byId('oc1').value=arguments[0]" +			pageSize="30" +	> +		<option></option> +		<option>Alabama</option> +		<option>Alaska</option> +		<option>American Samoa</option> +		<option>Arizona</option> +		<option>Arkansas</option> +		<option>Armed Forces Europe</option> +		<option>Armed Forces Pacific</option> +		<option>Armed Forces the Americas</option> +		<option>California</option> +		<option>Colorado</option> +		<option>Connecticut</option> +		<option>Delaware</option> +		<option>District of Columbia</option> +		<option>Federated States of Micronesia</option> +		<option>Florida</option> +		<option>Georgia</option> +		<option>Guam</option> +		<option>Hawaii</option> +		<option>Idaho</option> +		<option>Illinois</option> +		<option>Indiana</option> +		<option selected>Iowa</option> +		<option>Kansas</option> +		<option>Kentucky</option> +		<option>Louisiana</option> +		<option>Maine</option> +		<option>Marshall Islands</option> +		<option>Maryland</option> +		<option>Massachusetts</option> +		<option>Michigan</option> +		<option>Minnesota</option> +		<option>Mississippi</option> +		<option>Missouri</option> +		<option>Montana</option> +		<option>Nebraska</option> +		<option>Nevada</option> +		<option>New Hampshire</option> +		<option>New Jersey</option> +		<option>New Mexico</option> +		<option>New York</option> +		<option>North Carolina</option> +		<option>North Dakota</option> +		<option>Northern Mariana Islands</option> +		<option>Ohio</option> +		<option>Oklahoma</option> +		<option>Oregon</option> +		<option>Pennsylvania</option> +		<option>Puerto Rico</option> +		<option>Rhode Island</option> +		<option>South Carolina</option> +		<option>South Dakota</option> +		<option>Tennessee</option> +		<option>Texas</option> +		<option>Utah</option> +		<option>Vermont</option> +		<option>Virgin Islands, U.S.</option> +		<option>Virginia</option> +		<option>Washington</option> +		<option>West Virginia</option> +		<option>Wisconsin</option> +		<option>Wyoming</option> +	</select> +	<br>onChange:<input id="oc1" disabled value="not fired yet!" autocomplete="off"> +	<input type="button" value="Set displayed value to Kentucky" onClick="dijit.byId('setvaluetest').setDisplayedValue('Kentucky')"> +        <input type="button" value="Set displayed value to Canada" onClick="dijit.byId('setvaluetest').setDisplayedValue('Canada')"> + +	<hr> + +	<div dojoType="dojo.data.ItemFileReadStore" jsId="stateStore" +		url="../_data/states.json"></div> + +	<div dojoType="dojo.data.ItemFileReadStore" jsId="dijitStore" +		url="../_data/dijits.json"></div> + +	<p>ComboBox #2: url, autoComplete=true:</p> +	<label for="datatest">US State test 2</label> (8pt font):  +	<input dojoType="dijit.form.ComboBox" +			value="California" +			class="medium" +			store="stateStore" +			searchAttr="name" +			style="width: 200px; font-size: 8pt;" +			name="state2" +			onChange="setVal2" +			id="datatest" +	> +	<span>Value: <input id="value2" disabled value="California"></span> +	<hr> +	<label for="datatestDijit">Dijit List test #1</label> (150% font):  +	<input dojoType="dijit.form.ComboBox" +			value="dijit.Editor" +			class="medium" +			store="dijitStore" +			searchAttr="className" +			style="width: 200px; font-size: 150%;" +			name="dijitList1" +			id="datatestDijit" +	> +	<span>Hey look, this one is kind of useful.</span> +	<hr> + +	<p>ComboBox #3: initially disabled, url, autoComplete=false:</p> +	<label for="combo3">US State test 3: </label> + 	<input id="combo3" + 			dojoType="dijit.form.ComboBox" + 			value="California" + 			class="medium" +			store="stateStore" +			searchAttr="name" +			style="width: 300px;" +			name="state3" +			autoComplete="false" +			onChange="setVal3" +			disabled +	> +	<span>Value: <input id="value3" disabled></span> +	<div> +		<button id="but" onclick='toggleDisabled("but", "combo3"); return false;'>Enable</button> +	</div> +	<hr> +	<p>ComboBox #4: url, autoComplete=false required=true:</p> +	<label for="combobox4">US State test 4: </label> +	<input dojoType="dijit.form.ComboBox" +			value="" +			class="medium" +			store="stateStore" +			searchAttr="name" +			style="width: 300px;" +			name="state4" +			onChange="setVal4" +			autoComplete="false" +			id="combobox4" +			required="true" +	> +	<span>Value: <input id="value4" disabled></span> +	<hr> +	<p>A ComboBox with no arrow</p> + 	<input dojoType="dijit.form.ComboBox" + 			value="California" +			store="stateStore" +			searchAttr="name" +			name="state5" +			autoComplete="false" +			hasDownArrow="false" +	> +	<hr> +	<p>A combo created by createWidget</p> +	<input id="progCombo"> +	<hr> +	<p>A ComboBox with an initial query.  (Limits list to items with type = country.)</p> +	<input id="progCombo2"> +	<hr> +	<input type="button" value="Create one in a window" onclick="var win=window.open(window.location);"></input> +	<input type="submit"> + +</form> +<p> +This is some text below the ComboBoxes. It shouldn't get pushed out of the way when search results get returned. +also: adding a simple combo box to test IE bleed through problem: +</p> + +<select> +  <option>test for</option> +  <option>IE bleed through</option> +  <option>problem</option> +</select> +<h3>Some tests:</h3> +<ol> +<li>Type in D - dropdown shows Delaware and District of columbia. [Would be nice if it bolded the D's in the dropdown list!]</li> +<li>Type in DX - input box shows DX and no dropdown.</li> +<li>Open dropdown, click an item, it selects and closes dropdown.</li> +<li>Click triangle icon - dropdown shows. Click it again - dropdown goes.</li> +<li>Check that you can type in more than required (e.g. alaba for alabama) and it still correctly shows alabama</li> +<li>Tab into the combo works, list should not apear.</li> +<li>Tab out of the combo works - closes dropdown and goes to next control (focus should not go to the dropdown because tabindex="-1").</li> +<li>Do the dropdown and click outside of it - the dropdown disappears.</li> +<li>Javascript disabled -> fallback to old style combo?</li> +<li>Can you paste in the start of a match? [no]</li> +<li>Backspace to start - dropdown shows all all items</li> +<li>Backspace deselects last character [Borked: currently you have to backspace twice]</li> +<li>Press down key to open dropdown</li> +<li>Down and up keys select previous/next in dropdown.</li> +<li>Non-alpha keys (F12, ctrl-c, whatever) should not affect dropdown.</li> +<li>Press down arrow to highlight an item, pressing enter selects it and closes dropdown.</li> +<li>Press down arrow to highlight an item, pressing space selects it and closes dropdown.</li> +<li>Check that pressing escape undoes the previous action and closes the dropdown</li> +<li>Check that pressing escape again clears the input box.</li> +<li>In IE, mouse scroll wheel scrolls through the list. Scrolls by 1 item per click even if user has set mouse to scroll more than 1 in mouse settings. Only scrolls if text input has focus (page scrolling works as normal otherwise)</li> +<li>In IE, dropdown list does not go behind the second combo (special code to manage this).</li> +<li>Check dropdown is aligned correctly with bottom of the text input</li> +<li>Probably should try the combo in a relative div or absolute div and see where the dropdown ends up. (Strongly suspect problems in this area in IE - boo)</li> +<li>Try repeatably droppingdown and closing the dropdown. Shouldnt get hung [sometimes flicks closed just after opening due to timers, but not a biggie]</li> +<li>Check that default selection of the text makes sense. e.g. text is selected after picking an item, on tabbing in to text input etc)</li> +<li>Check that dropdown is smooth [looks uggy on second keypress in FF - hides then shows]</li> +<li>Clear the field. Type in A and then tab *very quickly* and see if the results make sense (the dropdown is on a timer - searchTimer)</li> +<li>Clear the field and enter an invalid entry and tab out e.g. Qualude. Does that make sense given the combobox setup options?</li> +<li>(Add any other tests here)</li> +</ol> +<div id="debugbox"></div> +<!-- maintain state of combo box if user presses back/forward button --> +<form name="_dojo_form" style="display:none" disabled="true"><textarea name="stabile" cols="80" rows="10"></textarea></form> +</body> +</html> | 
