1 | <!DOCTYPE html> |
---|
2 | <html> |
---|
3 | <head> |
---|
4 | <meta http-equiv="Content-type" content="text/html; charset=utf-8"> |
---|
5 | <title>Dojo Tooltip Widget Test</title> |
---|
6 | |
---|
7 | <style type="text/css"> |
---|
8 | @import "../themes/claro/document.css"; |
---|
9 | @import "css/dijitTests.css"; |
---|
10 | |
---|
11 | td { padding: 20px; } |
---|
12 | </style> |
---|
13 | |
---|
14 | <!-- required: a default dijit theme: --> |
---|
15 | <link id="themeStyles" rel="stylesheet" href="../../dijit/themes/claro/claro.css"/> |
---|
16 | |
---|
17 | <!-- required: dojo.js --> |
---|
18 | <script type="text/javascript" src="../../dojo/dojo.js" |
---|
19 | data-dojo-config="parseOnLoad: true, isDebug: true"></script> |
---|
20 | |
---|
21 | <!-- not needed, for testing alternate themes --> |
---|
22 | <script type="text/javascript" src="_testCommon.js"></script> |
---|
23 | |
---|
24 | <script type="text/javascript"> |
---|
25 | dojo.require("dojo.parser"); |
---|
26 | |
---|
27 | dojo.require("dijit.Tooltip"); |
---|
28 | dojo.require("dijit.ColorPalette"); |
---|
29 | dojo.require("dijit.form.DateTextBox"); |
---|
30 | |
---|
31 | dojo.require("dijit.form.DropDownButton"); |
---|
32 | dojo.require("dijit.DropDownMenu"); |
---|
33 | dojo.require("dijit.MenuItem"); |
---|
34 | dojo.require("dijit.TitlePane"); |
---|
35 | |
---|
36 | dojo.ready(function(){ |
---|
37 | console.log("on load func"); |
---|
38 | var tt = new dijit.Tooltip({label:"programmatically created tooltip", connectId:["programmaticTest"]}); |
---|
39 | console.log("created", tt, tt.id); |
---|
40 | |
---|
41 | dojo.connect(dijit.byId("t_tooltip"),"onShow",function(t, p){ |
---|
42 | console.log("Dynamic target tooltip onShow", t, p);//To check correct order in event call |
---|
43 | if(!p || !p.length){ p = dijit.Tooltip.defaultPosition; } |
---|
44 | dojo.byId("t_shown").innerHTML = "Tooltip shown for node " + t.id + " at position " + p; |
---|
45 | }); |
---|
46 | dojo.connect(dijit.byId("t_tooltip"),"onHide",function(){ |
---|
47 | console.log("Dynamic target tooltip onHide");//To check correct order in event call |
---|
48 | dojo.byId("t_shown").innerHTML = "Tooltip hidden"; |
---|
49 | }); |
---|
50 | updateDynamicIds(); |
---|
51 | }); |
---|
52 | |
---|
53 | function updateDynamicIds(){ |
---|
54 | dojo.byId("t_connected_id").innerHTML = "Tooltip connected with nodes: " + dijit.byId("t_tooltip").get("connectId"); |
---|
55 | } |
---|
56 | function addDynamicTarget(id){ |
---|
57 | dijit.byId("t_tooltip").addTarget(id); |
---|
58 | updateDynamicIds(); |
---|
59 | } |
---|
60 | function removeDynamicTarget(id){ |
---|
61 | dijit.byId("t_tooltip").removeTarget(id); |
---|
62 | updateDynamicIds(); |
---|
63 | } |
---|
64 | |
---|
65 | </script> |
---|
66 | </head> |
---|
67 | <body class="claro"> |
---|
68 | |
---|
69 | <h1 class="testTitle">Tooltip test</h1> |
---|
70 | |
---|
71 | <p>Mouse-over or focus the items below to test tooltips.</p> |
---|
72 | <table> |
---|
73 | <tr> |
---|
74 | <td> |
---|
75 | Change tooltip positioning search list: |
---|
76 | </td> |
---|
77 | <td> |
---|
78 | Set background color: |
---|
79 | </td> |
---|
80 | <td> |
---|
81 | Prompt message test (for quirks mode): |
---|
82 | </td> |
---|
83 | </tr> |
---|
84 | <tr> |
---|
85 | <td> |
---|
86 | <button onclick="dijit.Tooltip.defaultPosition=['above-centered', 'below-centered']; dojo.byId('current').innerHTML='Current: ' + dijit.Tooltip.defaultPosition;">above, below</button> |
---|
87 | <button onclick="dijit.Tooltip.defaultPosition=['after', 'before']; dojo.byId('current').innerHTML='Current: ' + dijit.Tooltip.defaultPosition;">after, before (default)</button> |
---|
88 | <div id=current> |
---|
89 | Current: default (unchanged) |
---|
90 | </div> |
---|
91 | </td> |
---|
92 | <td> |
---|
93 | <div data-dojo-type="dijit.ColorPalette" data-dojo-props='onChange:function(val){ dojo.query("body").style("background", val); }'></div> |
---|
94 | </td> |
---|
95 | <td> |
---|
96 | <input data-dojo-type="dijit.form.DateTextBox" data-dojo-props='id: "dtb", value: "2010-12-15", promptMessage: "Please Enter a date in dd/MM/yyyy format", style:"width: 8em;"'> |
---|
97 | </td> |
---|
98 | </tr> |
---|
99 | </table> |
---|
100 | |
---|
101 | <label for="ddb">Drop down menu items have tooltips:</label> |
---|
102 | <button id="ddb" data-dojo-type="dijit.form.DropDownButton"> |
---|
103 | <span>DropDown</span> |
---|
104 | <span id="ddm" data-dojo-type="dijit.DropDownMenu"> |
---|
105 | <span id="cut" data-dojo-type="dijit.MenuItem" data-dojo-props='iconClass:"dijitEditorIcon dijitEditorIconCut", |
---|
106 | onClick:function(){ console.log("not actually cutting anything, just a test!"); }'>Cut</span> |
---|
107 | <span id="copy" data-dojo-type="dijit.MenuItem" data-dojo-props='iconClass:"dijitEditorIcon dijitEditorIconCopy", |
---|
108 | onClick:function(){ console.log("not actually copying anything, just a test!"); }'>Copy</span> |
---|
109 | <span id="paste" data-dojo-type="dijit.MenuItem" data-dojo-props='iconClass:"dijitEditorIcon dijitEditorIconPaste", |
---|
110 | onClick:function(){ console.log("not actually pasting anything, just a test!"); }'>Paste</span> |
---|
111 | </span> |
---|
112 | </button> |
---|
113 | <span id="cut_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["cut"]'>tooltip for cut</span> |
---|
114 | <span id="copy_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["copy"]'>tooltip for copy</span> |
---|
115 | <span id="paste_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["paste"]'>tooltip for paste</span> |
---|
116 | |
---|
117 | <div id="tp2" dojoType="dijit.TitlePane" title="Tooltip on span in TitlePane" style="width: 300px;"> |
---|
118 | <span id="tpTooltipTarget">hover me for tooltip</span> |
---|
119 | <span dojoType="dijit.Tooltip" connectId="tpTooltipTarget">tooltip on TitlePane span</span> |
---|
120 | </div> |
---|
121 | |
---|
122 | <input value="input, no tooltip"/> |
---|
123 | <div> |
---|
124 | <span id="one" class="tt" tabindex="0"> focusable text </span> |
---|
125 | <span id="one_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["one"]'> |
---|
126 | <b> |
---|
127 | <span style="color: blue;">rich formatting</span> |
---|
128 | <span style="color: red; font-size: x-large;"><i>!</i></span> |
---|
129 | </b> |
---|
130 | </span> |
---|
131 | </div> |
---|
132 | <span id="oneA" class="tt"> plain text (not focusable) </span> |
---|
133 | <span id="oneA_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["oneA"]'> |
---|
134 | <span> keyboard users can not access this tooltip</span> |
---|
135 | </span> |
---|
136 | <a id="three" href="#bogus">anchor</a> |
---|
137 | <span id="three_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["three"]'>tooltip on a link </span> |
---|
138 | <p></p> |
---|
139 | |
---|
140 | <span id="programmaticTest">this text has a programmatically created tooltip</span> |
---|
141 | <br> |
---|
142 | |
---|
143 | <button id="four">button w/tooltip</button> |
---|
144 | <span id="btnTt" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["four"]'>tooltip on a button</span> |
---|
145 | <button id="removeButton" onclick="dijit.byId('btnTt').destroy()">Remove</button> tooltip from "button w/tooltip". |
---|
146 | |
---|
147 | <span style="float: right"> |
---|
148 | Test tooltip on right aligned element. Tooltip should flow to the left --> |
---|
149 | <select id="seven"> |
---|
150 | <option value="alpha">Alpha</option> |
---|
151 | <option value="beta">Beta</option> |
---|
152 | <option value="gamma">Gamma</option> |
---|
153 | <option value="delta">Delta</option> |
---|
154 | </select> |
---|
155 | |
---|
156 | <span id="seven_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["seven"]'> |
---|
157 | tooltip on a select<br> |
---|
158 | two line tooltip. |
---|
159 | </span> |
---|
160 | </span> |
---|
161 | |
---|
162 | <p></p> |
---|
163 | |
---|
164 | <form> |
---|
165 | <input id="id1" value="#1"/><br> |
---|
166 | <input id="id2" value="#2"/><br> |
---|
167 | <input id="id3" value="#3"/><br> |
---|
168 | <input id="id4" value="#4"/><br> |
---|
169 | <input id="id5" value="#5"/><br> |
---|
170 | <input id="id6" value="#6"/><br> |
---|
171 | </form> |
---|
172 | <br> |
---|
173 | |
---|
174 | <div style="overflow: auto; height: 100px; position: relative; border: solid blue 3px;"> |
---|
175 | <span id="s1">s1 text</span><br><br><br> |
---|
176 | <span id="s2">s2 text</span><br><br><br> |
---|
177 | <span id="s3">s3 text</span><br><br><br> |
---|
178 | <span id="s4">s4 text</span><br><br><br> |
---|
179 | <span id="s5">s5 text</span><br><br><br> |
---|
180 | </div> |
---|
181 | |
---|
182 | <span id="id1_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["id1"]'> |
---|
183 | |
---|
184 | tooltip for #1<br> |
---|
185 | long long long long long long long long long long long text<br> |
---|
186 | make sure that this works properly with a really narrow window |
---|
187 | </span> |
---|
188 | |
---|
189 | <span id="id2_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["id2"]'>tooltip for #2</span> |
---|
190 | <span id="id3_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["id3"]'>tooltip for #3</span> |
---|
191 | <span id="id4_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["id4"]'>tooltip for #4</span> |
---|
192 | <span id="id5_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["id5"]'>tooltip for #5</span> |
---|
193 | <span id="id6_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["id6"]'>tooltip for #6</span> |
---|
194 | |
---|
195 | <span id="s1_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["s1"]'>s1 tooltip</span> |
---|
196 | <span id="s2_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["s2"]'>s2 tooltip</span> |
---|
197 | <span id="s3_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["s3"]'>s3 tooltip</span> |
---|
198 | <span id="s4_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["s4"]'>s4 tooltip</span> |
---|
199 | <span id="s5_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["s5"]'>s5 tooltip</span> |
---|
200 | |
---|
201 | <h3>One Tooltip for multiple connect nodes</h3> |
---|
202 | <span data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["multi1","multi2"], id:"multi1,multi2_tooltip", style:"display:none;"'>multi tooltip</span> |
---|
203 | <a id="multi1" href="#bogus">multi1</a><br><a id="multi2" href="#bogus">multi2</a> |
---|
204 | |
---|
205 | <h3>One Tooltip for multiple connect nodes w/ dojoType</h3> |
---|
206 | <span dojoType="dijit.Tooltip" connectId="oldmulti1, oldmulti2" id="oldmulti1,oldmulti2_tooltip" style="display:none">multi tooltip dojoType</span> |
---|
207 | <a id="oldmulti1" href="#bogus">multi1</a><br><a id="oldmulti2" href="#bogus">multi2</a> |
---|
208 | |
---|
209 | |
---|
210 | <h3>Dynamic target tooltip</h3> |
---|
211 | <div> |
---|
212 | <button onclick="addDynamicTarget('t1');">Add</button> |
---|
213 | <button onclick="removeDynamicTarget('t1');">Remove</button> |
---|
214 | <span id="t1" tabIndex="0">t1 text</span><br> |
---|
215 | <button onclick="addDynamicTarget('t2');">Add</button> |
---|
216 | <button onclick="removeDynamicTarget('t2');">Remove</button> |
---|
217 | <span id="t2" tabIndex="0">t2 text</span><br> |
---|
218 | <button onclick="addDynamicTarget('t3');">Add</button> |
---|
219 | <button onclick="removeDynamicTarget('t3');">Remove</button> |
---|
220 | <span id="t3" tabIndex="0">t3 text</span><br> |
---|
221 | <button onclick="addDynamicTarget('t4');">Add</button> |
---|
222 | <button onclick="removeDynamicTarget('t4');">Remove</button> |
---|
223 | <span id="t4" tabIndex="0">t4 text</span><br> |
---|
224 | <button onclick="addDynamicTarget('t5');">Add</button> |
---|
225 | <button onclick="removeDynamicTarget('t5');">Remove</button> |
---|
226 | <span id="t5" tabIndex="0">t5 text</span><br> |
---|
227 | </div> |
---|
228 | <span id="t_connected_id"></span><br> |
---|
229 | <span id="t_shown">Tooltip hidden (initial)</span> |
---|
230 | |
---|
231 | <span id="t_tooltip" data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:["t1","t3"]'>Dynamic target tooltip</span> |
---|
232 | </body> |
---|
233 | </html> |
---|