~bac/juju-gui/trunkcopy

« back to all changes in this revision

Viewing changes to lib/yui/api/files/app_js_router.js.html

  • Committer: kapil.foss at gmail
  • Date: 2012-07-13 18:45:59 UTC
  • Revision ID: kapil.foss@gmail.com-20120713184559-2xl7be17egsrz0c9
reshape

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE html>
2
 
<html lang="en">
3
 
<head>
4
 
    <meta charset="utf-8">
5
 
    <title>app&#x2F;js&#x2F;router.js - YUI 3</title>
6
 
    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.0&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
7
 
    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
8
 
    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
9
 
    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.0&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
10
 
</head>
11
 
<body class="yui3-skin-sam">
12
 
 
13
 
<div id="doc">
14
 
    <div id="hd" class="yui3-g header">
15
 
        <div class="yui3-u-3-4">
16
 
            
17
 
                <h1><img src="..&#x2F;assets/css/logo.png" title="YUI 3"></h1>
18
 
            
19
 
        </div>
20
 
        <div class="yui3-u-1-4 version">
21
 
            <em>API Docs for: 3.5.1</em>
22
 
        </div>
23
 
    </div>
24
 
    <div id="bd" class="yui3-g">
25
 
 
26
 
        <div class="yui3-u-1-4">
27
 
            <div id="docs-sidebar" class="sidebar apidocs">
28
 
                <div id="api-list">
29
 
    <h2 class="off-left">APIs</h2>
30
 
    <div id="api-tabview" class="tabview">
31
 
        <ul class="tabs">
32
 
            <li><a href="#api-classes">Classes</a></li>
33
 
            <li><a href="#api-modules">Modules</a></li>
34
 
        </ul>
35
 
 
36
 
        <div id="api-tabview-filter">
37
 
            <input type="search" id="api-filter" placeholder="Type to filter APIs">
38
 
        </div>
39
 
 
40
 
        <div id="api-tabview-panel">
41
 
            <ul id="api-classes" class="apis classes">
42
 
            
43
 
                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
44
 
            
45
 
                <li><a href="..&#x2F;classes/App.html">App</a></li>
46
 
            
47
 
                <li><a href="..&#x2F;classes/App.Base.html">App.Base</a></li>
48
 
            
49
 
                <li><a href="..&#x2F;classes/App.Transitions.html">App.Transitions</a></li>
50
 
            
51
 
                <li><a href="..&#x2F;classes/App.TransitionsNative.html">App.TransitionsNative</a></li>
52
 
            
53
 
                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
54
 
            
55
 
                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
56
 
            
57
 
                <li><a href="..&#x2F;classes/Array.html">Array</a></li>
58
 
            
59
 
                <li><a href="..&#x2F;classes/ArrayList.html">ArrayList</a></li>
60
 
            
61
 
                <li><a href="..&#x2F;classes/ArraySort.html">ArraySort</a></li>
62
 
            
63
 
                <li><a href="..&#x2F;classes/AsyncQueue.html">AsyncQueue</a></li>
64
 
            
65
 
                <li><a href="..&#x2F;classes/Attribute.html">Attribute</a></li>
66
 
            
67
 
                <li><a href="..&#x2F;classes/AttributeCore.html">AttributeCore</a></li>
68
 
            
69
 
                <li><a href="..&#x2F;classes/AttributeEvents.html">AttributeEvents</a></li>
70
 
            
71
 
                <li><a href="..&#x2F;classes/AttributeExtras.html">AttributeExtras</a></li>
72
 
            
73
 
                <li><a href="..&#x2F;classes/AttributeLite.html">AttributeLite</a></li>
74
 
            
75
 
                <li><a href="..&#x2F;classes/AutoComplete.html">AutoComplete</a></li>
76
 
            
77
 
                <li><a href="..&#x2F;classes/AutoCompleteBase.html">AutoCompleteBase</a></li>
78
 
            
79
 
                <li><a href="..&#x2F;classes/AutoCompleteFilters.html">AutoCompleteFilters</a></li>
80
 
            
81
 
                <li><a href="..&#x2F;classes/AutoCompleteHighlighters.html">AutoCompleteHighlighters</a></li>
82
 
            
83
 
                <li><a href="..&#x2F;classes/AutoCompleteList.html">AutoCompleteList</a></li>
84
 
            
85
 
                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
86
 
            
87
 
                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
88
 
            
89
 
                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
90
 
            
91
 
                <li><a href="..&#x2F;classes/Base.html">Base</a></li>
92
 
            
93
 
                <li><a href="..&#x2F;classes/BaseCore.html">BaseCore</a></li>
94
 
            
95
 
                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
96
 
            
97
 
                <li><a href="..&#x2F;classes/Button.html">Button</a></li>
98
 
            
99
 
                <li><a href="..&#x2F;classes/ButtonCore.html">ButtonCore</a></li>
100
 
            
101
 
                <li><a href="..&#x2F;classes/ButtonGroup.html">ButtonGroup</a></li>
102
 
            
103
 
                <li><a href="..&#x2F;classes/ButtonPlugin.html">ButtonPlugin</a></li>
104
 
            
105
 
                <li><a href="..&#x2F;classes/Cache.html">Cache</a></li>
106
 
            
107
 
                <li><a href="..&#x2F;classes/CacheOffline.html">CacheOffline</a></li>
108
 
            
109
 
                <li><a href="..&#x2F;classes/Calendar.html">Calendar</a></li>
110
 
            
111
 
                <li><a href="..&#x2F;classes/CalendarBase.html">CalendarBase</a></li>
112
 
            
113
 
                <li><a href="..&#x2F;classes/CanvasCircle.html">CanvasCircle</a></li>
114
 
            
115
 
                <li><a href="..&#x2F;classes/CanvasDrawing.html">CanvasDrawing</a></li>
116
 
            
117
 
                <li><a href="..&#x2F;classes/CanvasEllipse.html">CanvasEllipse</a></li>
118
 
            
119
 
                <li><a href="..&#x2F;classes/CanvasGraphic.html">CanvasGraphic</a></li>
120
 
            
121
 
                <li><a href="..&#x2F;classes/CanvasPath.html">CanvasPath</a></li>
122
 
            
123
 
                <li><a href="..&#x2F;classes/CanvasPieSlice.html">CanvasPieSlice</a></li>
124
 
            
125
 
                <li><a href="..&#x2F;classes/CanvasRect.html">CanvasRect</a></li>
126
 
            
127
 
                <li><a href="..&#x2F;classes/CanvasShape.html">CanvasShape</a></li>
128
 
            
129
 
                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
130
 
            
131
 
                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
132
 
            
133
 
                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
134
 
            
135
 
                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
136
 
            
137
 
                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
138
 
            
139
 
                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
140
 
            
141
 
                <li><a href="..&#x2F;classes/Circle.html">Circle</a></li>
142
 
            
143
 
                <li><a href="..&#x2F;classes/ClassNameManager.html">ClassNameManager</a></li>
144
 
            
145
 
                <li><a href="..&#x2F;classes/ClickableRail.html">ClickableRail</a></li>
146
 
            
147
 
                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
148
 
            
149
 
                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
150
 
            
151
 
                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
152
 
            
153
 
                <li><a href="..&#x2F;classes/config.html">config</a></li>
154
 
            
155
 
                <li><a href="..&#x2F;classes/Console.html">Console</a></li>
156
 
            
157
 
                <li><a href="..&#x2F;classes/Controller.html">Controller</a></li>
158
 
            
159
 
                <li><a href="..&#x2F;classes/Cookie.html">Cookie</a></li>
160
 
            
161
 
                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
162
 
            
163
 
                <li><a href="..&#x2F;classes/CustomEvent.html">CustomEvent</a></li>
164
 
            
165
 
                <li><a href="..&#x2F;classes/DataSchema.Array.html">DataSchema.Array</a></li>
166
 
            
167
 
                <li><a href="..&#x2F;classes/DataSchema.Base.html">DataSchema.Base</a></li>
168
 
            
169
 
                <li><a href="..&#x2F;classes/DataSchema.JSON.html">DataSchema.JSON</a></li>
170
 
            
171
 
                <li><a href="..&#x2F;classes/DataSchema.Text.html">DataSchema.Text</a></li>
172
 
            
173
 
                <li><a href="..&#x2F;classes/DataSchema.XML.html">DataSchema.XML</a></li>
174
 
            
175
 
                <li><a href="..&#x2F;classes/DataSource.Function.html">DataSource.Function</a></li>
176
 
            
177
 
                <li><a href="..&#x2F;classes/DataSource.Get.html">DataSource.Get</a></li>
178
 
            
179
 
                <li><a href="..&#x2F;classes/DataSource.IO.html">DataSource.IO</a></li>
180
 
            
181
 
                <li><a href="..&#x2F;classes/DataSource.Local.html">DataSource.Local</a></li>
182
 
            
183
 
                <li><a href="..&#x2F;classes/DataSourceArraySchema.html">DataSourceArraySchema</a></li>
184
 
            
185
 
                <li><a href="..&#x2F;classes/DataSourceCache.html">DataSourceCache</a></li>
186
 
            
187
 
                <li><a href="..&#x2F;classes/DataSourceCacheExtension.html">DataSourceCacheExtension</a></li>
188
 
            
189
 
                <li><a href="..&#x2F;classes/DataSourceJSONSchema.html">DataSourceJSONSchema</a></li>
190
 
            
191
 
                <li><a href="..&#x2F;classes/DataSourceTextSchema.html">DataSourceTextSchema</a></li>
192
 
            
193
 
                <li><a href="..&#x2F;classes/DataSourceXMLSchema.html">DataSourceXMLSchema</a></li>
194
 
            
195
 
                <li><a href="..&#x2F;classes/DataTable.html">DataTable</a></li>
196
 
            
197
 
                <li><a href="..&#x2F;classes/DataTable.Base.html">DataTable.Base</a></li>
198
 
            
199
 
                <li><a href="..&#x2F;classes/DataTable.BodyView.html">DataTable.BodyView</a></li>
200
 
            
201
 
                <li><a href="..&#x2F;classes/DataTable.ColumnWidths.html">DataTable.ColumnWidths</a></li>
202
 
            
203
 
                <li><a href="..&#x2F;classes/DataTable.Core.html">DataTable.Core</a></li>
204
 
            
205
 
                <li><a href="..&#x2F;classes/DataTable.HeaderView.html">DataTable.HeaderView</a></li>
206
 
            
207
 
                <li><a href="..&#x2F;classes/DataTable.Message.html">DataTable.Message</a></li>
208
 
            
209
 
                <li><a href="..&#x2F;classes/DataTable.Mutable.html">DataTable.Mutable</a></li>
210
 
            
211
 
                <li><a href="..&#x2F;classes/DataTable.Scrollable.html">DataTable.Scrollable</a></li>
212
 
            
213
 
                <li><a href="..&#x2F;classes/DataTable.Sortable.html">DataTable.Sortable</a></li>
214
 
            
215
 
                <li><a href="..&#x2F;classes/DataType.Date.html">DataType.Date</a></li>
216
 
            
217
 
                <li><a href="..&#x2F;classes/DataType.Date.Locale.html">DataType.Date.Locale</a></li>
218
 
            
219
 
                <li><a href="..&#x2F;classes/DataType.Number.html">DataType.Number</a></li>
220
 
            
221
 
                <li><a href="..&#x2F;classes/DataType.XML.html">DataType.XML</a></li>
222
 
            
223
 
                <li><a href="..&#x2F;classes/DD.DDM.html">DD.DDM</a></li>
224
 
            
225
 
                <li><a href="..&#x2F;classes/DD.Delegate.html">DD.Delegate</a></li>
226
 
            
227
 
                <li><a href="..&#x2F;classes/DD.Drag.html">DD.Drag</a></li>
228
 
            
229
 
                <li><a href="..&#x2F;classes/DD.Drop.html">DD.Drop</a></li>
230
 
            
231
 
                <li><a href="..&#x2F;classes/DD.Scroll.html">DD.Scroll</a></li>
232
 
            
233
 
                <li><a href="..&#x2F;classes/Dial.html">Dial</a></li>
234
 
            
235
 
                <li><a href="..&#x2F;classes/Do.html">Do</a></li>
236
 
            
237
 
                <li><a href="..&#x2F;classes/Do.AlterArgs.html">Do.AlterArgs</a></li>
238
 
            
239
 
                <li><a href="..&#x2F;classes/Do.AlterReturn.html">Do.AlterReturn</a></li>
240
 
            
241
 
                <li><a href="..&#x2F;classes/Do.Error.html">Do.Error</a></li>
242
 
            
243
 
                <li><a href="..&#x2F;classes/Do.Halt.html">Do.Halt</a></li>
244
 
            
245
 
                <li><a href="..&#x2F;classes/Do.Method.html">Do.Method</a></li>
246
 
            
247
 
                <li><a href="..&#x2F;classes/Do.Prevent.html">Do.Prevent</a></li>
248
 
            
249
 
                <li><a href="..&#x2F;classes/DOM.html">DOM</a></li>
250
 
            
251
 
                <li><a href="..&#x2F;classes/DOMEventFacade.html">DOMEventFacade</a></li>
252
 
            
253
 
                <li><a href="..&#x2F;classes/Drawing.html">Drawing</a></li>
254
 
            
255
 
                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
256
 
            
257
 
                <li><a href="..&#x2F;classes/EditorBase.html">EditorBase</a></li>
258
 
            
259
 
                <li><a href="..&#x2F;classes/EditorSelection.html">EditorSelection</a></li>
260
 
            
261
 
                <li><a href="..&#x2F;classes/Ellipse.html">Ellipse</a></li>
262
 
            
263
 
                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
264
 
            
265
 
                <li><a href="..&#x2F;classes/Escape.html">Escape</a></li>
266
 
            
267
 
                <li><a href="..&#x2F;classes/Event.html">Event</a></li>
268
 
            
269
 
                <li><a href="..&#x2F;classes/EventFacade.html">EventFacade</a></li>
270
 
            
271
 
                <li><a href="..&#x2F;classes/EventHandle.html">EventHandle</a></li>
272
 
            
273
 
                <li><a href="..&#x2F;classes/EventTarget.html">EventTarget</a></li>
274
 
            
275
 
                <li><a href="..&#x2F;classes/ExecCommand.html">ExecCommand</a></li>
276
 
            
277
 
                <li><a href="..&#x2F;classes/Features.html">Features</a></li>
278
 
            
279
 
                <li><a href="..&#x2F;classes/File.html">File</a></li>
280
 
            
281
 
                <li><a href="..&#x2F;classes/FileFlash.html">FileFlash</a></li>
282
 
            
283
 
                <li><a href="..&#x2F;classes/FileHTML5.html">FileHTML5</a></li>
284
 
            
285
 
                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
286
 
            
287
 
                <li><a href="..&#x2F;classes/Frame.html">Frame</a></li>
288
 
            
289
 
                <li><a href="..&#x2F;classes/Get.html">Get</a></li>
290
 
            
291
 
                <li><a href="..&#x2F;classes/Get.Transaction.html">Get.Transaction</a></li>
292
 
            
293
 
                <li><a href="..&#x2F;classes/GetNodeJS.html">GetNodeJS</a></li>
294
 
            
295
 
                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
296
 
            
297
 
                <li><a href="..&#x2F;classes/Graphic.html">Graphic</a></li>
298
 
            
299
 
                <li><a href="..&#x2F;classes/GraphicBase.html">GraphicBase</a></li>
300
 
            
301
 
                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
302
 
            
303
 
                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
304
 
            
305
 
                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
306
 
            
307
 
                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
308
 
            
309
 
                <li><a href="..&#x2F;classes/Handlebars.html">Handlebars</a></li>
310
 
            
311
 
                <li><a href="..&#x2F;classes/Highlight.html">Highlight</a></li>
312
 
            
313
 
                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
314
 
            
315
 
                <li><a href="..&#x2F;classes/HistoryBase.html">HistoryBase</a></li>
316
 
            
317
 
                <li><a href="..&#x2F;classes/HistoryHash.html">HistoryHash</a></li>
318
 
            
319
 
                <li><a href="..&#x2F;classes/HistoryHTML5.html">HistoryHTML5</a></li>
320
 
            
321
 
                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
322
 
            
323
 
                <li><a href="..&#x2F;classes/ImgLoadGroup.html">ImgLoadGroup</a></li>
324
 
            
325
 
                <li><a href="..&#x2F;classes/ImgLoadImgObj.html">ImgLoadImgObj</a></li>
326
 
            
327
 
                <li><a href="..&#x2F;classes/Intl.html">Intl</a></li>
328
 
            
329
 
                <li><a href="..&#x2F;classes/IO.html">IO</a></li>
330
 
            
331
 
                <li><a href="..&#x2F;classes/JSON.html">JSON</a></li>
332
 
            
333
 
                <li><a href="..&#x2F;classes/JSONPRequest.html">JSONPRequest</a></li>
334
 
            
335
 
                <li><a href="..&#x2F;classes/Lang.html">Lang</a></li>
336
 
            
337
 
                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
338
 
            
339
 
                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
340
 
            
341
 
                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
342
 
            
343
 
                <li><a href="..&#x2F;classes/Loader.html">Loader</a></li>
344
 
            
345
 
                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
346
 
            
347
 
                <li><a href="..&#x2F;classes/Matrix.html">Matrix</a></li>
348
 
            
349
 
                <li><a href="..&#x2F;classes/Model.html">Model</a></li>
350
 
            
351
 
                <li><a href="..&#x2F;classes/ModelList.html">ModelList</a></li>
352
 
            
353
 
                <li><a href="..&#x2F;classes/Node.html">Node</a></li>
354
 
            
355
 
                <li><a href="..&#x2F;classes/NodeList.html">NodeList</a></li>
356
 
            
357
 
                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
358
 
            
359
 
                <li><a href="..&#x2F;classes/Object.html">Object</a></li>
360
 
            
361
 
                <li><a href="..&#x2F;classes/Overlay.html">Overlay</a></li>
362
 
            
363
 
                <li><a href="..&#x2F;classes/Panel.html">Panel</a></li>
364
 
            
365
 
                <li><a href="..&#x2F;classes/Parallel.html">Parallel</a></li>
366
 
            
367
 
                <li><a href="..&#x2F;classes/Path.html">Path</a></li>
368
 
            
369
 
                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
370
 
            
371
 
                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
372
 
            
373
 
                <li><a href="..&#x2F;classes/Pjax.html">Pjax</a></li>
374
 
            
375
 
                <li><a href="..&#x2F;classes/PjaxBase.html">PjaxBase</a></li>
376
 
            
377
 
                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
378
 
            
379
 
                <li><a href="..&#x2F;classes/Plugin.Align.html">Plugin.Align</a></li>
380
 
            
381
 
                <li><a href="..&#x2F;classes/Plugin.AutoComplete.html">Plugin.AutoComplete</a></li>
382
 
            
383
 
                <li><a href="..&#x2F;classes/Plugin.Base.html">Plugin.Base</a></li>
384
 
            
385
 
                <li><a href="..&#x2F;classes/Plugin.Cache.html">Plugin.Cache</a></li>
386
 
            
387
 
                <li><a href="..&#x2F;classes/Plugin.CalendarNavigator.html">Plugin.CalendarNavigator</a></li>
388
 
            
389
 
                <li><a href="..&#x2F;classes/Plugin.ConsoleFilters.html">Plugin.ConsoleFilters</a></li>
390
 
            
391
 
                <li><a href="..&#x2F;classes/Plugin.CreateLinkBase.html">Plugin.CreateLinkBase</a></li>
392
 
            
393
 
                <li><a href="..&#x2F;classes/Plugin.DataTableDataSource.html">Plugin.DataTableDataSource</a></li>
394
 
            
395
 
                <li><a href="..&#x2F;classes/Plugin.DDConstrained.html">Plugin.DDConstrained</a></li>
396
 
            
397
 
                <li><a href="..&#x2F;classes/Plugin.DDNodeScroll.html">Plugin.DDNodeScroll</a></li>
398
 
            
399
 
                <li><a href="..&#x2F;classes/Plugin.DDProxy.html">Plugin.DDProxy</a></li>
400
 
            
401
 
                <li><a href="..&#x2F;classes/Plugin.DDWindowScroll.html">Plugin.DDWindowScroll</a></li>
402
 
            
403
 
                <li><a href="..&#x2F;classes/Plugin.Drag.html">Plugin.Drag</a></li>
404
 
            
405
 
                <li><a href="..&#x2F;classes/Plugin.Drop.html">Plugin.Drop</a></li>
406
 
            
407
 
                <li><a href="..&#x2F;classes/Plugin.EditorBidi.html">Plugin.EditorBidi</a></li>
408
 
            
409
 
                <li><a href="..&#x2F;classes/Plugin.EditorBR.html">Plugin.EditorBR</a></li>
410
 
            
411
 
                <li><a href="..&#x2F;classes/Plugin.EditorLists.html">Plugin.EditorLists</a></li>
412
 
            
413
 
                <li><a href="..&#x2F;classes/Plugin.EditorPara.html">Plugin.EditorPara</a></li>
414
 
            
415
 
                <li><a href="..&#x2F;classes/Plugin.EditorParaBase.html">Plugin.EditorParaBase</a></li>
416
 
            
417
 
                <li><a href="..&#x2F;classes/Plugin.EditorParaIE.html">Plugin.EditorParaIE</a></li>
418
 
            
419
 
                <li><a href="..&#x2F;classes/Plugin.EditorTab.html">Plugin.EditorTab</a></li>
420
 
            
421
 
                <li><a href="..&#x2F;classes/Plugin.ExecCommand.html">Plugin.ExecCommand</a></li>
422
 
            
423
 
                <li><a href="..&#x2F;classes/Plugin.Flick.html">Plugin.Flick</a></li>
424
 
            
425
 
                <li><a href="..&#x2F;classes/Plugin.Host.html">Plugin.Host</a></li>
426
 
            
427
 
                <li><a href="..&#x2F;classes/plugin.NodeFocusManager.html">plugin.NodeFocusManager</a></li>
428
 
            
429
 
                <li><a href="..&#x2F;classes/Plugin.NodeFX.html">Plugin.NodeFX</a></li>
430
 
            
431
 
                <li><a href="..&#x2F;classes/plugin.NodeMenuNav.html">plugin.NodeMenuNav</a></li>
432
 
            
433
 
                <li><a href="..&#x2F;classes/Plugin.Pjax.html">Plugin.Pjax</a></li>
434
 
            
435
 
                <li><a href="..&#x2F;classes/Plugin.Resize.html">Plugin.Resize</a></li>
436
 
            
437
 
                <li><a href="..&#x2F;classes/Plugin.ResizeConstrained.html">Plugin.ResizeConstrained</a></li>
438
 
            
439
 
                <li><a href="..&#x2F;classes/Plugin.ResizeProxy.html">Plugin.ResizeProxy</a></li>
440
 
            
441
 
                <li><a href="..&#x2F;classes/Plugin.ScrollViewList.html">Plugin.ScrollViewList</a></li>
442
 
            
443
 
                <li><a href="..&#x2F;classes/Plugin.ScrollViewPaginator.html">Plugin.ScrollViewPaginator</a></li>
444
 
            
445
 
                <li><a href="..&#x2F;classes/Plugin.ScrollViewScrollbars.html">Plugin.ScrollViewScrollbars</a></li>
446
 
            
447
 
                <li><a href="..&#x2F;classes/Plugin.Shim.html">Plugin.Shim</a></li>
448
 
            
449
 
                <li><a href="..&#x2F;classes/Plugin.SortScroll.html">Plugin.SortScroll</a></li>
450
 
            
451
 
                <li><a href="..&#x2F;classes/Plugin.WidgetAnim.html">Plugin.WidgetAnim</a></li>
452
 
            
453
 
                <li><a href="..&#x2F;classes/Pollable.html">Pollable</a></li>
454
 
            
455
 
                <li><a href="..&#x2F;classes/Profiler.html">Profiler</a></li>
456
 
            
457
 
                <li><a href="..&#x2F;classes/QueryString.html">QueryString</a></li>
458
 
            
459
 
                <li><a href="..&#x2F;classes/Queue.html">Queue</a></li>
460
 
            
461
 
                <li><a href="..&#x2F;classes/Record.html">Record</a></li>
462
 
            
463
 
                <li><a href="..&#x2F;classes/Recordset.html">Recordset</a></li>
464
 
            
465
 
                <li><a href="..&#x2F;classes/RecordsetFilter.html">RecordsetFilter</a></li>
466
 
            
467
 
                <li><a href="..&#x2F;classes/RecordsetIndexer.html">RecordsetIndexer</a></li>
468
 
            
469
 
                <li><a href="..&#x2F;classes/RecordsetSort.html">RecordsetSort</a></li>
470
 
            
471
 
                <li><a href="..&#x2F;classes/Rect.html">Rect</a></li>
472
 
            
473
 
                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
474
 
            
475
 
                <li><a href="..&#x2F;classes/Resize.html">Resize</a></li>
476
 
            
477
 
                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
478
 
            
479
 
                <li><a href="..&#x2F;classes/Router.html">Router</a></li>
480
 
            
481
 
                <li><a href="..&#x2F;classes/ScrollView.html">ScrollView</a></li>
482
 
            
483
 
                <li><a href="..&#x2F;classes/Selector.html">Selector</a></li>
484
 
            
485
 
                <li><a href="..&#x2F;classes/Shape.html">Shape</a></li>
486
 
            
487
 
                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
488
 
            
489
 
                <li><a href="..&#x2F;classes/Slider.html">Slider</a></li>
490
 
            
491
 
                <li><a href="..&#x2F;classes/SliderBase.html">SliderBase</a></li>
492
 
            
493
 
                <li><a href="..&#x2F;classes/SliderValueRange.html">SliderValueRange</a></li>
494
 
            
495
 
                <li><a href="..&#x2F;classes/Sortable.html">Sortable</a></li>
496
 
            
497
 
                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
498
 
            
499
 
                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
500
 
            
501
 
                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
502
 
            
503
 
                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
504
 
            
505
 
                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
506
 
            
507
 
                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
508
 
            
509
 
                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
510
 
            
511
 
                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
512
 
            
513
 
                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
514
 
            
515
 
                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
516
 
            
517
 
                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
518
 
            
519
 
                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
520
 
            
521
 
                <li><a href="..&#x2F;classes/State.html">State</a></li>
522
 
            
523
 
                <li><a href="..&#x2F;classes/StyleSheet.html">StyleSheet</a></li>
524
 
            
525
 
                <li><a href="..&#x2F;classes/Subscriber.html">Subscriber</a></li>
526
 
            
527
 
                <li><a href="..&#x2F;classes/SVGCircle.html">SVGCircle</a></li>
528
 
            
529
 
                <li><a href="..&#x2F;classes/SVGDrawing.html">SVGDrawing</a></li>
530
 
            
531
 
                <li><a href="..&#x2F;classes/SVGEllipse.html">SVGEllipse</a></li>
532
 
            
533
 
                <li><a href="..&#x2F;classes/SVGGraphic.html">SVGGraphic</a></li>
534
 
            
535
 
                <li><a href="..&#x2F;classes/SVGPath.html">SVGPath</a></li>
536
 
            
537
 
                <li><a href="..&#x2F;classes/SVGPieSlice.html">SVGPieSlice</a></li>
538
 
            
539
 
                <li><a href="..&#x2F;classes/SVGRect.html">SVGRect</a></li>
540
 
            
541
 
                <li><a href="..&#x2F;classes/SVGShape.html">SVGShape</a></li>
542
 
            
543
 
                <li><a href="..&#x2F;classes/SWF.html">SWF</a></li>
544
 
            
545
 
                <li><a href="..&#x2F;classes/SWFDetect.html">SWFDetect</a></li>
546
 
            
547
 
                <li><a href="..&#x2F;classes/SyntheticEvent.html">SyntheticEvent</a></li>
548
 
            
549
 
                <li><a href="..&#x2F;classes/SyntheticEvent.Notifier.html">SyntheticEvent.Notifier</a></li>
550
 
            
551
 
                <li><a href="..&#x2F;classes/SynthRegistry.html">SynthRegistry</a></li>
552
 
            
553
 
                <li><a href="..&#x2F;classes/Tab.html">Tab</a></li>
554
 
            
555
 
                <li><a href="..&#x2F;classes/TabView.html">TabView</a></li>
556
 
            
557
 
                <li><a href="..&#x2F;classes/Test.ArrayAssert.html">Test.ArrayAssert</a></li>
558
 
            
559
 
                <li><a href="..&#x2F;classes/Test.Assert.html">Test.Assert</a></li>
560
 
            
561
 
                <li><a href="..&#x2F;classes/Test.AssertionError.html">Test.AssertionError</a></li>
562
 
            
563
 
                <li><a href="..&#x2F;classes/Test.ComparisonFailure.html">Test.ComparisonFailure</a></li>
564
 
            
565
 
                <li><a href="..&#x2F;classes/Test.Console.html">Test.Console</a></li>
566
 
            
567
 
                <li><a href="..&#x2F;classes/Test.CoverageFormat.html">Test.CoverageFormat</a></li>
568
 
            
569
 
                <li><a href="..&#x2F;classes/Test.DateAssert.html">Test.DateAssert</a></li>
570
 
            
571
 
                <li><a href="..&#x2F;classes/Test.EventTarget.html">Test.EventTarget</a></li>
572
 
            
573
 
                <li><a href="..&#x2F;classes/Test.Mock.html">Test.Mock</a></li>
574
 
            
575
 
                <li><a href="..&#x2F;classes/Test.Mock.Value.html">Test.Mock.Value</a></li>
576
 
            
577
 
                <li><a href="..&#x2F;classes/Test.ObjectAssert.html">Test.ObjectAssert</a></li>
578
 
            
579
 
                <li><a href="..&#x2F;classes/Test.Reporter.html">Test.Reporter</a></li>
580
 
            
581
 
                <li><a href="..&#x2F;classes/Test.Results.html">Test.Results</a></li>
582
 
            
583
 
                <li><a href="..&#x2F;classes/Test.Runner.html">Test.Runner</a></li>
584
 
            
585
 
                <li><a href="..&#x2F;classes/Test.ShouldError.html">Test.ShouldError</a></li>
586
 
            
587
 
                <li><a href="..&#x2F;classes/Test.ShouldFail.html">Test.ShouldFail</a></li>
588
 
            
589
 
                <li><a href="..&#x2F;classes/Test.TestCase.html">Test.TestCase</a></li>
590
 
            
591
 
                <li><a href="..&#x2F;classes/Test.TestFormat.html">Test.TestFormat</a></li>
592
 
            
593
 
                <li><a href="..&#x2F;classes/Test.TestNode.html">Test.TestNode</a></li>
594
 
            
595
 
                <li><a href="..&#x2F;classes/Test.TestRunner.html">Test.TestRunner</a></li>
596
 
            
597
 
                <li><a href="..&#x2F;classes/Test.TestSuite.html">Test.TestSuite</a></li>
598
 
            
599
 
                <li><a href="..&#x2F;classes/Test.UnexpectedError.html">Test.UnexpectedError</a></li>
600
 
            
601
 
                <li><a href="..&#x2F;classes/Test.UnexpectedValue.html">Test.UnexpectedValue</a></li>
602
 
            
603
 
                <li><a href="..&#x2F;classes/Test.Wait.html">Test.Wait</a></li>
604
 
            
605
 
                <li><a href="..&#x2F;classes/Text.AccentFold.html">Text.AccentFold</a></li>
606
 
            
607
 
                <li><a href="..&#x2F;classes/Text.WordBreak.html">Text.WordBreak</a></li>
608
 
            
609
 
                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
610
 
            
611
 
                <li><a href="..&#x2F;classes/ToggleButton.html">ToggleButton</a></li>
612
 
            
613
 
                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
614
 
            
615
 
                <li><a href="..&#x2F;classes/Transition.html">Transition</a></li>
616
 
            
617
 
                <li><a href="..&#x2F;classes/UA.html">UA</a></li>
618
 
            
619
 
                <li><a href="..&#x2F;classes/Uploader.html">Uploader</a></li>
620
 
            
621
 
                <li><a href="..&#x2F;classes/Uploader.Queue.html">Uploader.Queue</a></li>
622
 
            
623
 
                <li><a href="..&#x2F;classes/UploaderFlash.html">UploaderFlash</a></li>
624
 
            
625
 
                <li><a href="..&#x2F;classes/UploaderHTML5.html">UploaderHTML5</a></li>
626
 
            
627
 
                <li><a href="..&#x2F;classes/ValueChange.html">ValueChange</a></li>
628
 
            
629
 
                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
630
 
            
631
 
                <li><a href="..&#x2F;classes/View.html">View</a></li>
632
 
            
633
 
                <li><a href="..&#x2F;classes/View.NodeMap.html">View.NodeMap</a></li>
634
 
            
635
 
                <li><a href="..&#x2F;classes/VMLCircle.html">VMLCircle</a></li>
636
 
            
637
 
                <li><a href="..&#x2F;classes/VMLDrawing.html">VMLDrawing</a></li>
638
 
            
639
 
                <li><a href="..&#x2F;classes/VMLEllipse.html">VMLEllipse</a></li>
640
 
            
641
 
                <li><a href="..&#x2F;classes/VMLGraphic.html">VMLGraphic</a></li>
642
 
            
643
 
                <li><a href="..&#x2F;classes/VMLPath.html">VMLPath</a></li>
644
 
            
645
 
                <li><a href="..&#x2F;classes/VMLPieSlice.html">VMLPieSlice</a></li>
646
 
            
647
 
                <li><a href="..&#x2F;classes/VMLRect.html">VMLRect</a></li>
648
 
            
649
 
                <li><a href="..&#x2F;classes/VMLShape.html">VMLShape</a></li>
650
 
            
651
 
                <li><a href="..&#x2F;classes/Widget.html">Widget</a></li>
652
 
            
653
 
                <li><a href="..&#x2F;classes/WidgetAutohide.html">WidgetAutohide</a></li>
654
 
            
655
 
                <li><a href="..&#x2F;classes/WidgetButtons.html">WidgetButtons</a></li>
656
 
            
657
 
                <li><a href="..&#x2F;classes/WidgetChild.html">WidgetChild</a></li>
658
 
            
659
 
                <li><a href="..&#x2F;classes/WidgetModality.html">WidgetModality</a></li>
660
 
            
661
 
                <li><a href="..&#x2F;classes/WidgetParent.html">WidgetParent</a></li>
662
 
            
663
 
                <li><a href="..&#x2F;classes/WidgetPosition.html">WidgetPosition</a></li>
664
 
            
665
 
                <li><a href="..&#x2F;classes/WidgetPositionAlign.html">WidgetPositionAlign</a></li>
666
 
            
667
 
                <li><a href="..&#x2F;classes/WidgetPositionConstrain.html">WidgetPositionConstrain</a></li>
668
 
            
669
 
                <li><a href="..&#x2F;classes/WidgetStack.html">WidgetStack</a></li>
670
 
            
671
 
                <li><a href="..&#x2F;classes/WidgetStdMod.html">WidgetStdMod</a></li>
672
 
            
673
 
                <li><a href="..&#x2F;classes/YQL.html">YQL</a></li>
674
 
            
675
 
                <li><a href="..&#x2F;classes/YQLRequest.html">YQLRequest</a></li>
676
 
            
677
 
                <li><a href="..&#x2F;classes/YUI.html">YUI</a></li>
678
 
            
679
 
                <li><a href="..&#x2F;classes/YUI~substitute.html">YUI~substitute</a></li>
680
 
            
681
 
            </ul>
682
 
 
683
 
            <ul id="api-modules" class="apis modules">
684
 
            
685
 
                <li><a href="..&#x2F;modules/align-plugin.html">align-plugin</a></li>
686
 
            
687
 
                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
688
 
            
689
 
                <li><a href="..&#x2F;modules/anim-base.html">anim-base</a></li>
690
 
            
691
 
                <li><a href="..&#x2F;modules/anim-color.html">anim-color</a></li>
692
 
            
693
 
                <li><a href="..&#x2F;modules/anim-curve.html">anim-curve</a></li>
694
 
            
695
 
                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
696
 
            
697
 
                <li><a href="..&#x2F;modules/anim-node-plugin.html">anim-node-plugin</a></li>
698
 
            
699
 
                <li><a href="..&#x2F;modules/anim-scroll.html">anim-scroll</a></li>
700
 
            
701
 
                <li><a href="..&#x2F;modules/anim-shape-transform.html">anim-shape-transform</a></li>
702
 
            
703
 
                <li><a href="..&#x2F;modules/anim-xy.html">anim-xy</a></li>
704
 
            
705
 
                <li><a href="..&#x2F;modules/app.html">app</a></li>
706
 
            
707
 
                <li><a href="..&#x2F;modules/app-base.html">app-base</a></li>
708
 
            
709
 
                <li><a href="..&#x2F;modules/app-transitions.html">app-transitions</a></li>
710
 
            
711
 
                <li><a href="..&#x2F;modules/app-transitions-native.html">app-transitions-native</a></li>
712
 
            
713
 
                <li><a href="..&#x2F;modules/array-extras.html">array-extras</a></li>
714
 
            
715
 
                <li><a href="..&#x2F;modules/array-invoke.html">array-invoke</a></li>
716
 
            
717
 
                <li><a href="..&#x2F;modules/arraylist.html">arraylist</a></li>
718
 
            
719
 
                <li><a href="..&#x2F;modules/arraylist-add.html">arraylist-add</a></li>
720
 
            
721
 
                <li><a href="..&#x2F;modules/arraylist-filter.html">arraylist-filter</a></li>
722
 
            
723
 
                <li><a href="..&#x2F;modules/arraysort.html">arraysort</a></li>
724
 
            
725
 
                <li><a href="..&#x2F;modules/async-queue.html">async-queue</a></li>
726
 
            
727
 
                <li><a href="..&#x2F;modules/attribute.html">attribute</a></li>
728
 
            
729
 
                <li><a href="..&#x2F;modules/attribute-base.html">attribute-base</a></li>
730
 
            
731
 
                <li><a href="..&#x2F;modules/attribute-complex.html">attribute-complex</a></li>
732
 
            
733
 
                <li><a href="..&#x2F;modules/attribute-core.html">attribute-core</a></li>
734
 
            
735
 
                <li><a href="..&#x2F;modules/attribute-events.html">attribute-events</a></li>
736
 
            
737
 
                <li><a href="..&#x2F;modules/attribute-extras.html">attribute-extras</a></li>
738
 
            
739
 
                <li><a href="..&#x2F;modules/autocomplete.html">autocomplete</a></li>
740
 
            
741
 
                <li><a href="..&#x2F;modules/autocomplete-base.html">autocomplete-base</a></li>
742
 
            
743
 
                <li><a href="..&#x2F;modules/autocomplete-filters.html">autocomplete-filters</a></li>
744
 
            
745
 
                <li><a href="..&#x2F;modules/autocomplete-filters-accentfold.html">autocomplete-filters-accentfold</a></li>
746
 
            
747
 
                <li><a href="..&#x2F;modules/autocomplete-highlighters.html">autocomplete-highlighters</a></li>
748
 
            
749
 
                <li><a href="..&#x2F;modules/autocomplete-highlighters-accentfold.html">autocomplete-highlighters-accentfold</a></li>
750
 
            
751
 
                <li><a href="..&#x2F;modules/autocomplete-list.html">autocomplete-list</a></li>
752
 
            
753
 
                <li><a href="..&#x2F;modules/autocomplete-list-keys.html">autocomplete-list-keys</a></li>
754
 
            
755
 
                <li><a href="..&#x2F;modules/autocomplete-plugin.html">autocomplete-plugin</a></li>
756
 
            
757
 
                <li><a href="..&#x2F;modules/autocomplete-sources.html">autocomplete-sources</a></li>
758
 
            
759
 
                <li><a href="..&#x2F;modules/base.html">base</a></li>
760
 
            
761
 
                <li><a href="..&#x2F;modules/base-base.html">base-base</a></li>
762
 
            
763
 
                <li><a href="..&#x2F;modules/base-build.html">base-build</a></li>
764
 
            
765
 
                <li><a href="..&#x2F;modules/base-core.html">base-core</a></li>
766
 
            
767
 
                <li><a href="..&#x2F;modules/base-pluginhost.html">base-pluginhost</a></li>
768
 
            
769
 
                <li><a href="..&#x2F;modules/button.html">button</a></li>
770
 
            
771
 
                <li><a href="..&#x2F;modules/button-core.html">button-core</a></li>
772
 
            
773
 
                <li><a href="..&#x2F;modules/button-group.html">button-group</a></li>
774
 
            
775
 
                <li><a href="..&#x2F;modules/button-plugin.html">button-plugin</a></li>
776
 
            
777
 
                <li><a href="..&#x2F;modules/cache.html">cache</a></li>
778
 
            
779
 
                <li><a href="..&#x2F;modules/cache-base.html">cache-base</a></li>
780
 
            
781
 
                <li><a href="..&#x2F;modules/cache-offline.html">cache-offline</a></li>
782
 
            
783
 
                <li><a href="..&#x2F;modules/cache-plugin.html">cache-plugin</a></li>
784
 
            
785
 
                <li><a href="..&#x2F;modules/calendar.html">calendar</a></li>
786
 
            
787
 
                <li><a href="..&#x2F;modules/calendar-base.html">calendar-base</a></li>
788
 
            
789
 
                <li><a href="..&#x2F;modules/calendarnavigator.html">calendarnavigator</a></li>
790
 
            
791
 
                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
792
 
            
793
 
                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
794
 
            
795
 
                <li><a href="..&#x2F;modules/classnamemanager.html">classnamemanager</a></li>
796
 
            
797
 
                <li><a href="..&#x2F;modules/clickable-rail.html">clickable-rail</a></li>
798
 
            
799
 
                <li><a href="..&#x2F;modules/collection.html">collection</a></li>
800
 
            
801
 
                <li><a href="..&#x2F;modules/console.html">console</a></li>
802
 
            
803
 
                <li><a href="..&#x2F;modules/console-filters.html">console-filters</a></li>
804
 
            
805
 
                <li><a href="..&#x2F;modules/cookie.html">cookie</a></li>
806
 
            
807
 
                <li><a href="..&#x2F;modules/createlink-base.html">createlink-base</a></li>
808
 
            
809
 
                <li><a href="..&#x2F;modules/dataschema.html">dataschema</a></li>
810
 
            
811
 
                <li><a href="..&#x2F;modules/dataschema-array.html">dataschema-array</a></li>
812
 
            
813
 
                <li><a href="..&#x2F;modules/dataschema-base.html">dataschema-base</a></li>
814
 
            
815
 
                <li><a href="..&#x2F;modules/dataschema-json.html">dataschema-json</a></li>
816
 
            
817
 
                <li><a href="..&#x2F;modules/dataschema-text.html">dataschema-text</a></li>
818
 
            
819
 
                <li><a href="..&#x2F;modules/dataschema-xml.html">dataschema-xml</a></li>
820
 
            
821
 
                <li><a href="..&#x2F;modules/datasource.html">datasource</a></li>
822
 
            
823
 
                <li><a href="..&#x2F;modules/datasource-arrayschema.html">datasource-arrayschema</a></li>
824
 
            
825
 
                <li><a href="..&#x2F;modules/datasource-cache.html">datasource-cache</a></li>
826
 
            
827
 
                <li><a href="..&#x2F;modules/datasource-function.html">datasource-function</a></li>
828
 
            
829
 
                <li><a href="..&#x2F;modules/datasource-get.html">datasource-get</a></li>
830
 
            
831
 
                <li><a href="..&#x2F;modules/datasource-io.html">datasource-io</a></li>
832
 
            
833
 
                <li><a href="..&#x2F;modules/datasource-jsonschema.html">datasource-jsonschema</a></li>
834
 
            
835
 
                <li><a href="..&#x2F;modules/datasource-local.html">datasource-local</a></li>
836
 
            
837
 
                <li><a href="..&#x2F;modules/datasource-polling.html">datasource-polling</a></li>
838
 
            
839
 
                <li><a href="..&#x2F;modules/datasource-textschema.html">datasource-textschema</a></li>
840
 
            
841
 
                <li><a href="..&#x2F;modules/datasource-xmlschema.html">datasource-xmlschema</a></li>
842
 
            
843
 
                <li><a href="..&#x2F;modules/datatable.html">datatable</a></li>
844
 
            
845
 
                <li><a href="..&#x2F;modules/datatable-base.html">datatable-base</a></li>
846
 
            
847
 
                <li><a href="..&#x2F;modules/datatable-base-deprecated.html">datatable-base-deprecated</a></li>
848
 
            
849
 
                <li><a href="..&#x2F;modules/datatable-body.html">datatable-body</a></li>
850
 
            
851
 
                <li><a href="..&#x2F;modules/datatable-column-widths.html">datatable-column-widths</a></li>
852
 
            
853
 
                <li><a href="..&#x2F;modules/datatable-core.html">datatable-core</a></li>
854
 
            
855
 
                <li><a href="..&#x2F;modules/datatable-datasource.html">datatable-datasource</a></li>
856
 
            
857
 
                <li><a href="..&#x2F;modules/datatable-datasource-deprecated.html">datatable-datasource-deprecated</a></li>
858
 
            
859
 
                <li><a href="..&#x2F;modules/datatable-deprecated.html">datatable-deprecated</a></li>
860
 
            
861
 
                <li><a href="..&#x2F;modules/datatable-head.html">datatable-head</a></li>
862
 
            
863
 
                <li><a href="..&#x2F;modules/datatable-message.html">datatable-message</a></li>
864
 
            
865
 
                <li><a href="..&#x2F;modules/datatable-mutable.html">datatable-mutable</a></li>
866
 
            
867
 
                <li><a href="..&#x2F;modules/datatable-scroll.html">datatable-scroll</a></li>
868
 
            
869
 
                <li><a href="..&#x2F;modules/datatable-scroll-deprecated.html">datatable-scroll-deprecated</a></li>
870
 
            
871
 
                <li><a href="..&#x2F;modules/datatable-sort.html">datatable-sort</a></li>
872
 
            
873
 
                <li><a href="..&#x2F;modules/datatable-sort-deprecated.html">datatable-sort-deprecated</a></li>
874
 
            
875
 
                <li><a href="..&#x2F;modules/datatype.html">datatype</a></li>
876
 
            
877
 
                <li><a href="..&#x2F;modules/datatype-date.html">datatype-date</a></li>
878
 
            
879
 
                <li><a href="..&#x2F;modules/datatype-date-format.html">datatype-date-format</a></li>
880
 
            
881
 
                <li><a href="..&#x2F;modules/datatype-date-math.html">datatype-date-math</a></li>
882
 
            
883
 
                <li><a href="..&#x2F;modules/datatype-date-parse.html">datatype-date-parse</a></li>
884
 
            
885
 
                <li><a href="..&#x2F;modules/datatype-number.html">datatype-number</a></li>
886
 
            
887
 
                <li><a href="..&#x2F;modules/datatype-number-format.html">datatype-number-format</a></li>
888
 
            
889
 
                <li><a href="..&#x2F;modules/datatype-number-parse.html">datatype-number-parse</a></li>
890
 
            
891
 
                <li><a href="..&#x2F;modules/datatype-xml.html">datatype-xml</a></li>
892
 
            
893
 
                <li><a href="..&#x2F;modules/datatype-xml-format.html">datatype-xml-format</a></li>
894
 
            
895
 
                <li><a href="..&#x2F;modules/datatype-xml-parse.html">datatype-xml-parse</a></li>
896
 
            
897
 
                <li><a href="..&#x2F;modules/dd.html">dd</a></li>
898
 
            
899
 
                <li><a href="..&#x2F;modules/dd-constrain.html">dd-constrain</a></li>
900
 
            
901
 
                <li><a href="..&#x2F;modules/dd-ddm.html">dd-ddm</a></li>
902
 
            
903
 
                <li><a href="..&#x2F;modules/dd-ddm-base.html">dd-ddm-base</a></li>
904
 
            
905
 
                <li><a href="..&#x2F;modules/dd-ddm-drop.html">dd-ddm-drop</a></li>
906
 
            
907
 
                <li><a href="..&#x2F;modules/dd-delegate.html">dd-delegate</a></li>
908
 
            
909
 
                <li><a href="..&#x2F;modules/dd-drag.html">dd-drag</a></li>
910
 
            
911
 
                <li><a href="..&#x2F;modules/dd-drop.html">dd-drop</a></li>
912
 
            
913
 
                <li><a href="..&#x2F;modules/dd-drop-plugin.html">dd-drop-plugin</a></li>
914
 
            
915
 
                <li><a href="..&#x2F;modules/dd-plugin.html">dd-plugin</a></li>
916
 
            
917
 
                <li><a href="..&#x2F;modules/dd-proxy.html">dd-proxy</a></li>
918
 
            
919
 
                <li><a href="..&#x2F;modules/dd-scroll.html">dd-scroll</a></li>
920
 
            
921
 
                <li><a href="..&#x2F;modules/dial.html">dial</a></li>
922
 
            
923
 
                <li><a href="..&#x2F;modules/dom.html">dom</a></li>
924
 
            
925
 
                <li><a href="..&#x2F;modules/dom-base.html">dom-base</a></li>
926
 
            
927
 
                <li><a href="..&#x2F;modules/dom-screen.html">dom-screen</a></li>
928
 
            
929
 
                <li><a href="..&#x2F;modules/dom-style.html">dom-style</a></li>
930
 
            
931
 
                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
932
 
            
933
 
                <li><a href="..&#x2F;modules/editor.html">editor</a></li>
934
 
            
935
 
                <li><a href="..&#x2F;modules/editor-base.html">editor-base</a></li>
936
 
            
937
 
                <li><a href="..&#x2F;modules/editor-bidi.html">editor-bidi</a></li>
938
 
            
939
 
                <li><a href="..&#x2F;modules/editor-br.html">editor-br</a></li>
940
 
            
941
 
                <li><a href="..&#x2F;modules/editor-lists.html">editor-lists</a></li>
942
 
            
943
 
                <li><a href="..&#x2F;modules/editor-para.html">editor-para</a></li>
944
 
            
945
 
                <li><a href="..&#x2F;modules/editor-para-base.html">editor-para-base</a></li>
946
 
            
947
 
                <li><a href="..&#x2F;modules/editor-para-ie.html">editor-para-ie</a></li>
948
 
            
949
 
                <li><a href="..&#x2F;modules/editor-tab.html">editor-tab</a></li>
950
 
            
951
 
                <li><a href="..&#x2F;modules/escape.html">escape</a></li>
952
 
            
953
 
                <li><a href="..&#x2F;modules/event.html">event</a></li>
954
 
            
955
 
                <li><a href="..&#x2F;modules/event-base.html">event-base</a></li>
956
 
            
957
 
                <li><a href="..&#x2F;modules/event-contextmenu.html">event-contextmenu</a></li>
958
 
            
959
 
                <li><a href="..&#x2F;modules/event-custom.html">event-custom</a></li>
960
 
            
961
 
                <li><a href="..&#x2F;modules/event-custom-base.html">event-custom-base</a></li>
962
 
            
963
 
                <li><a href="..&#x2F;modules/event-custom-complex.html">event-custom-complex</a></li>
964
 
            
965
 
                <li><a href="..&#x2F;modules/event-delegate.html">event-delegate</a></li>
966
 
            
967
 
                <li><a href="..&#x2F;modules/event-flick.html">event-flick</a></li>
968
 
            
969
 
                <li><a href="..&#x2F;modules/event-focus.html">event-focus</a></li>
970
 
            
971
 
                <li><a href="..&#x2F;modules/event-gestures.html">event-gestures</a></li>
972
 
            
973
 
                <li><a href="..&#x2F;modules/event-hover.html">event-hover</a></li>
974
 
            
975
 
                <li><a href="..&#x2F;modules/event-key.html">event-key</a></li>
976
 
            
977
 
                <li><a href="..&#x2F;modules/event-mouseenter.html">event-mouseenter</a></li>
978
 
            
979
 
                <li><a href="..&#x2F;modules/event-mousewheel.html">event-mousewheel</a></li>
980
 
            
981
 
                <li><a href="..&#x2F;modules/event-move.html">event-move</a></li>
982
 
            
983
 
                <li><a href="..&#x2F;modules/event-outside.html">event-outside</a></li>
984
 
            
985
 
                <li><a href="..&#x2F;modules/event-resize.html">event-resize</a></li>
986
 
            
987
 
                <li><a href="..&#x2F;modules/event-simulate.html">event-simulate</a></li>
988
 
            
989
 
                <li><a href="..&#x2F;modules/event-synthetic.html">event-synthetic</a></li>
990
 
            
991
 
                <li><a href="..&#x2F;modules/event-touch.html">event-touch</a></li>
992
 
            
993
 
                <li><a href="..&#x2F;modules/event-valuechange.html">event-valuechange</a></li>
994
 
            
995
 
                <li><a href="..&#x2F;modules/exec-command.html">exec-command</a></li>
996
 
            
997
 
                <li><a href="..&#x2F;modules/features.html">features</a></li>
998
 
            
999
 
                <li><a href="..&#x2F;modules/file.html">file</a></li>
1000
 
            
1001
 
                <li><a href="..&#x2F;modules/file-flash.html">file-flash</a></li>
1002
 
            
1003
 
                <li><a href="..&#x2F;modules/file-html5.html">file-html5</a></li>
1004
 
            
1005
 
                <li><a href="..&#x2F;modules/frame.html">frame</a></li>
1006
 
            
1007
 
                <li><a href="..&#x2F;modules/get.html">get</a></li>
1008
 
            
1009
 
                <li><a href="..&#x2F;modules/get-nodejs.html">get-nodejs</a></li>
1010
 
            
1011
 
                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
1012
 
            
1013
 
                <li><a href="..&#x2F;modules/handlebars.html">handlebars</a></li>
1014
 
            
1015
 
                <li><a href="..&#x2F;modules/handlebars-base.html">handlebars-base</a></li>
1016
 
            
1017
 
                <li><a href="..&#x2F;modules/handlebars-compiler.html">handlebars-compiler</a></li>
1018
 
            
1019
 
                <li><a href="..&#x2F;modules/highlight.html">highlight</a></li>
1020
 
            
1021
 
                <li><a href="..&#x2F;modules/highlight-accentfold.html">highlight-accentfold</a></li>
1022
 
            
1023
 
                <li><a href="..&#x2F;modules/highlight-base.html">highlight-base</a></li>
1024
 
            
1025
 
                <li><a href="..&#x2F;modules/history.html">history</a></li>
1026
 
            
1027
 
                <li><a href="..&#x2F;modules/history-base.html">history-base</a></li>
1028
 
            
1029
 
                <li><a href="..&#x2F;modules/history-hash.html">history-hash</a></li>
1030
 
            
1031
 
                <li><a href="..&#x2F;modules/history-hash-ie.html">history-hash-ie</a></li>
1032
 
            
1033
 
                <li><a href="..&#x2F;modules/history-html5.html">history-html5</a></li>
1034
 
            
1035
 
                <li><a href="..&#x2F;modules/imageloader.html">imageloader</a></li>
1036
 
            
1037
 
                <li><a href="..&#x2F;modules/intl.html">intl</a></li>
1038
 
            
1039
 
                <li><a href="..&#x2F;modules/io.html">io</a></li>
1040
 
            
1041
 
                <li><a href="..&#x2F;modules/io-base.html">io-base</a></li>
1042
 
            
1043
 
                <li><a href="..&#x2F;modules/io-form.html">io-form</a></li>
1044
 
            
1045
 
                <li><a href="..&#x2F;modules/io-queue.html">io-queue</a></li>
1046
 
            
1047
 
                <li><a href="..&#x2F;modules/io-upload-iframe.html">io-upload-iframe</a></li>
1048
 
            
1049
 
                <li><a href="..&#x2F;modules/io-xdr.html">io-xdr</a></li>
1050
 
            
1051
 
                <li><a href="..&#x2F;modules/json.html">json</a></li>
1052
 
            
1053
 
                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
1054
 
            
1055
 
                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
1056
 
            
1057
 
                <li><a href="..&#x2F;modules/jsonp.html">jsonp</a></li>
1058
 
            
1059
 
                <li><a href="..&#x2F;modules/jsonp-url.html">jsonp-url</a></li>
1060
 
            
1061
 
                <li><a href="..&#x2F;modules/loader.html">loader</a></li>
1062
 
            
1063
 
                <li><a href="..&#x2F;modules/loader-base.html">loader-base</a></li>
1064
 
            
1065
 
                <li><a href="..&#x2F;modules/matrix.html">matrix</a></li>
1066
 
            
1067
 
                <li><a href="..&#x2F;modules/model.html">model</a></li>
1068
 
            
1069
 
                <li><a href="..&#x2F;modules/model-list.html">model-list</a></li>
1070
 
            
1071
 
                <li><a href="..&#x2F;modules/node.html">node</a></li>
1072
 
            
1073
 
                <li><a href="..&#x2F;modules/node-base.html">node-base</a></li>
1074
 
            
1075
 
                <li><a href="..&#x2F;modules/node-core.html">node-core</a></li>
1076
 
            
1077
 
                <li><a href="..&#x2F;modules/node-data.html">node-data</a></li>
1078
 
            
1079
 
                <li><a href="..&#x2F;modules/node-deprecated.html">node-deprecated</a></li>
1080
 
            
1081
 
                <li><a href="..&#x2F;modules/node-event-delegate.html">node-event-delegate</a></li>
1082
 
            
1083
 
                <li><a href="..&#x2F;modules/node-event-html5.html">node-event-html5</a></li>
1084
 
            
1085
 
                <li><a href="..&#x2F;modules/node-event-simulate.html">node-event-simulate</a></li>
1086
 
            
1087
 
                <li><a href="..&#x2F;modules/node-flick.html">node-flick</a></li>
1088
 
            
1089
 
                <li><a href="..&#x2F;modules/node-focusmanager.html">node-focusmanager</a></li>
1090
 
            
1091
 
                <li><a href="..&#x2F;modules/node-load.html">node-load</a></li>
1092
 
            
1093
 
                <li><a href="..&#x2F;modules/node-menunav.html">node-menunav</a></li>
1094
 
            
1095
 
                <li><a href="..&#x2F;modules/node-pluginhost.html">node-pluginhost</a></li>
1096
 
            
1097
 
                <li><a href="..&#x2F;modules/node-screen.html">node-screen</a></li>
1098
 
            
1099
 
                <li><a href="..&#x2F;modules/node-style.html">node-style</a></li>
1100
 
            
1101
 
                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
1102
 
            
1103
 
                <li><a href="..&#x2F;modules/overlay.html">overlay</a></li>
1104
 
            
1105
 
                <li><a href="..&#x2F;modules/panel.html">panel</a></li>
1106
 
            
1107
 
                <li><a href="..&#x2F;modules/parallel.html">parallel</a></li>
1108
 
            
1109
 
                <li><a href="..&#x2F;modules/pjax.html">pjax</a></li>
1110
 
            
1111
 
                <li><a href="..&#x2F;modules/pjax-base.html">pjax-base</a></li>
1112
 
            
1113
 
                <li><a href="..&#x2F;modules/pjax-plugin.html">pjax-plugin</a></li>
1114
 
            
1115
 
                <li><a href="..&#x2F;modules/plugin.html">plugin</a></li>
1116
 
            
1117
 
                <li><a href="..&#x2F;modules/pluginhost.html">pluginhost</a></li>
1118
 
            
1119
 
                <li><a href="..&#x2F;modules/pluginhost-base.html">pluginhost-base</a></li>
1120
 
            
1121
 
                <li><a href="..&#x2F;modules/pluginhost-config.html">pluginhost-config</a></li>
1122
 
            
1123
 
                <li><a href="..&#x2F;modules/profiler.html">profiler</a></li>
1124
 
            
1125
 
                <li><a href="..&#x2F;modules/querystring.html">querystring</a></li>
1126
 
            
1127
 
                <li><a href="..&#x2F;modules/querystring-parse.html">querystring-parse</a></li>
1128
 
            
1129
 
                <li><a href="..&#x2F;modules/querystring-parse-simple.html">querystring-parse-simple</a></li>
1130
 
            
1131
 
                <li><a href="..&#x2F;modules/querystring-stringify.html">querystring-stringify</a></li>
1132
 
            
1133
 
                <li><a href="..&#x2F;modules/querystring-stringify-simple.html">querystring-stringify-simple</a></li>
1134
 
            
1135
 
                <li><a href="..&#x2F;modules/queue-promote.html">queue-promote</a></li>
1136
 
            
1137
 
                <li><a href="..&#x2F;modules/range-slider.html">range-slider</a></li>
1138
 
            
1139
 
                <li><a href="..&#x2F;modules/recordset.html">recordset</a></li>
1140
 
            
1141
 
                <li><a href="..&#x2F;modules/recordset-base.html">recordset-base</a></li>
1142
 
            
1143
 
                <li><a href="..&#x2F;modules/recordset-filter.html">recordset-filter</a></li>
1144
 
            
1145
 
                <li><a href="..&#x2F;modules/recordset-indexer.html">recordset-indexer</a></li>
1146
 
            
1147
 
                <li><a href="..&#x2F;modules/recordset-sort.html">recordset-sort</a></li>
1148
 
            
1149
 
                <li><a href="..&#x2F;modules/resize.html">resize</a></li>
1150
 
            
1151
 
                <li><a href="..&#x2F;modules/resize-contrain.html">resize-contrain</a></li>
1152
 
            
1153
 
                <li><a href="..&#x2F;modules/resize-plugin.html">resize-plugin</a></li>
1154
 
            
1155
 
                <li><a href="..&#x2F;modules/resize-proxy.html">resize-proxy</a></li>
1156
 
            
1157
 
                <li><a href="..&#x2F;modules/rollup.html">rollup</a></li>
1158
 
            
1159
 
                <li><a href="..&#x2F;modules/router.html">router</a></li>
1160
 
            
1161
 
                <li><a href="..&#x2F;modules/scrollview.html">scrollview</a></li>
1162
 
            
1163
 
                <li><a href="..&#x2F;modules/scrollview-base.html">scrollview-base</a></li>
1164
 
            
1165
 
                <li><a href="..&#x2F;modules/scrollview-base-ie.html">scrollview-base-ie</a></li>
1166
 
            
1167
 
                <li><a href="..&#x2F;modules/scrollview-list.html">scrollview-list</a></li>
1168
 
            
1169
 
                <li><a href="..&#x2F;modules/scrollview-paginator.html">scrollview-paginator</a></li>
1170
 
            
1171
 
                <li><a href="..&#x2F;modules/scrollview-scrollbars.html">scrollview-scrollbars</a></li>
1172
 
            
1173
 
                <li><a href="..&#x2F;modules/selection.html">selection</a></li>
1174
 
            
1175
 
                <li><a href="..&#x2F;modules/selector-css2.html">selector-css2</a></li>
1176
 
            
1177
 
                <li><a href="..&#x2F;modules/selector-css3.html">selector-css3</a></li>
1178
 
            
1179
 
                <li><a href="..&#x2F;modules/selector-native.html">selector-native</a></li>
1180
 
            
1181
 
                <li><a href="..&#x2F;modules/shim-plugin.html">shim-plugin</a></li>
1182
 
            
1183
 
                <li><a href="..&#x2F;modules/slider.html">slider</a></li>
1184
 
            
1185
 
                <li><a href="..&#x2F;modules/slider-base.html">slider-base</a></li>
1186
 
            
1187
 
                <li><a href="..&#x2F;modules/slider-value-range.html">slider-value-range</a></li>
1188
 
            
1189
 
                <li><a href="..&#x2F;modules/sortable.html">sortable</a></li>
1190
 
            
1191
 
                <li><a href="..&#x2F;modules/sortable-scroll.html">sortable-scroll</a></li>
1192
 
            
1193
 
                <li><a href="..&#x2F;modules/stylesheet.html">stylesheet</a></li>
1194
 
            
1195
 
                <li><a href="..&#x2F;modules/substitute.html">substitute</a></li>
1196
 
            
1197
 
                <li><a href="..&#x2F;modules/swf.html">swf</a></li>
1198
 
            
1199
 
                <li><a href="..&#x2F;modules/swfdetect.html">swfdetect</a></li>
1200
 
            
1201
 
                <li><a href="..&#x2F;modules/tabview.html">tabview</a></li>
1202
 
            
1203
 
                <li><a href="..&#x2F;modules/test.html">test</a></li>
1204
 
            
1205
 
                <li><a href="..&#x2F;modules/test-console.html">test-console</a></li>
1206
 
            
1207
 
                <li><a href="..&#x2F;modules/text.html">text</a></li>
1208
 
            
1209
 
                <li><a href="..&#x2F;modules/text-accentfold.html">text-accentfold</a></li>
1210
 
            
1211
 
                <li><a href="..&#x2F;modules/text-wordbreak.html">text-wordbreak</a></li>
1212
 
            
1213
 
                <li><a href="..&#x2F;modules/transition.html">transition</a></li>
1214
 
            
1215
 
                <li><a href="..&#x2F;modules/uploader.html">uploader</a></li>
1216
 
            
1217
 
                <li><a href="..&#x2F;modules/uploader-deprecated.html">uploader-deprecated</a></li>
1218
 
            
1219
 
                <li><a href="..&#x2F;modules/uploader-flash.html">uploader-flash</a></li>
1220
 
            
1221
 
                <li><a href="..&#x2F;modules/uploader-html5.html">uploader-html5</a></li>
1222
 
            
1223
 
                <li><a href="..&#x2F;modules/uploader-queue.html">uploader-queue</a></li>
1224
 
            
1225
 
                <li><a href="..&#x2F;modules/view.html">view</a></li>
1226
 
            
1227
 
                <li><a href="..&#x2F;modules/view-node-map.html">view-node-map</a></li>
1228
 
            
1229
 
                <li><a href="..&#x2F;modules/widget.html">widget</a></li>
1230
 
            
1231
 
                <li><a href="..&#x2F;modules/widget-anim.html">widget-anim</a></li>
1232
 
            
1233
 
                <li><a href="..&#x2F;modules/widget-autohide.html">widget-autohide</a></li>
1234
 
            
1235
 
                <li><a href="..&#x2F;modules/widget-base.html">widget-base</a></li>
1236
 
            
1237
 
                <li><a href="..&#x2F;modules/widget-base-ie.html">widget-base-ie</a></li>
1238
 
            
1239
 
                <li><a href="..&#x2F;modules/widget-buttons.html">widget-buttons</a></li>
1240
 
            
1241
 
                <li><a href="..&#x2F;modules/widget-child.html">widget-child</a></li>
1242
 
            
1243
 
                <li><a href="..&#x2F;modules/widget-htmlparser.html">widget-htmlparser</a></li>
1244
 
            
1245
 
                <li><a href="..&#x2F;modules/widget-locale.html">widget-locale</a></li>
1246
 
            
1247
 
                <li><a href="..&#x2F;modules/widget-modality.html">widget-modality</a></li>
1248
 
            
1249
 
                <li><a href="..&#x2F;modules/widget-parent.html">widget-parent</a></li>
1250
 
            
1251
 
                <li><a href="..&#x2F;modules/widget-position.html">widget-position</a></li>
1252
 
            
1253
 
                <li><a href="..&#x2F;modules/widget-position-align.html">widget-position-align</a></li>
1254
 
            
1255
 
                <li><a href="..&#x2F;modules/widget-position-constrain.html">widget-position-constrain</a></li>
1256
 
            
1257
 
                <li><a href="..&#x2F;modules/widget-skin.html">widget-skin</a></li>
1258
 
            
1259
 
                <li><a href="..&#x2F;modules/widget-stack.html">widget-stack</a></li>
1260
 
            
1261
 
                <li><a href="..&#x2F;modules/widget-stdmod.html">widget-stdmod</a></li>
1262
 
            
1263
 
                <li><a href="..&#x2F;modules/widget-uievents.html">widget-uievents</a></li>
1264
 
            
1265
 
                <li><a href="..&#x2F;modules/yql.html">yql</a></li>
1266
 
            
1267
 
                <li><a href="..&#x2F;modules/yui.html">yui</a></li>
1268
 
            
1269
 
                <li><a href="..&#x2F;modules/yui-base.html">yui-base</a></li>
1270
 
            
1271
 
                <li><a href="..&#x2F;modules/yui-later.html">yui-later</a></li>
1272
 
            
1273
 
                <li><a href="..&#x2F;modules/yui-log.html">yui-log</a></li>
1274
 
            
1275
 
                <li><a href="..&#x2F;modules/yui-throttle.html">yui-throttle</a></li>
1276
 
            
1277
 
                <li><a href="..&#x2F;modules/yui3.html">yui3</a></li>
1278
 
            
1279
 
            </ul>
1280
 
        </div>
1281
 
    </div>
1282
 
</div>
1283
 
 
1284
 
            </div>
1285
 
        </div>
1286
 
        <div class="yui3-u-3-4">
1287
 
                <div id="api-options">
1288
 
        Show:
1289
 
        <label for="api-show-inherited">
1290
 
            <input type="checkbox" id="api-show-inherited" checked>
1291
 
            Inherited
1292
 
        </label>
1293
 
 
1294
 
        <label for="api-show-protected">
1295
 
            <input type="checkbox" id="api-show-protected">
1296
 
            Protected
1297
 
        </label>
1298
 
 
1299
 
        <label for="api-show-private">
1300
 
            <input type="checkbox" id="api-show-private">
1301
 
            Private
1302
 
        </label>
1303
 
    </div>
1304
 
 
1305
 
 
1306
 
            <div class="apidocs">
1307
 
                <div id="docs-main">
1308
 
                    <div class="content">
1309
 
                        <h1 class="file-heading">File: app&#x2F;js&#x2F;router.js</h1>
1310
 
 
1311
 
<div class="file">
1312
 
    <pre class="code prettyprint linenums">
1313
 
&#x2F;**
1314
 
Provides URL-based routing using HTML5 &#x60;pushState()&#x60; or the location hash.
1315
 
 
1316
 
@module app
1317
 
@submodule router
1318
 
@since 3.4.0
1319
 
**&#x2F;
1320
 
 
1321
 
var HistoryHash = Y.HistoryHash,
1322
 
    QS          = Y.QueryString,
1323
 
    YArray      = Y.Array,
1324
 
 
1325
 
    win = Y.config.win,
1326
 
 
1327
 
    &#x2F;&#x2F; We have to queue up pushState calls to avoid race conditions, since the
1328
 
    &#x2F;&#x2F; popstate event doesn&#x27;t actually provide any info on what URL it&#x27;s
1329
 
    &#x2F;&#x2F; associated with.
1330
 
    saveQueue = [],
1331
 
 
1332
 
    &#x2F;**
1333
 
    Fired when the router is ready to begin dispatching to route handlers.
1334
 
 
1335
 
    You shouldn&#x27;t need to wait for this event unless you plan to implement some
1336
 
    kind of custom dispatching logic. It&#x27;s used internally in order to avoid
1337
 
    dispatching to an initial route if a browser history change occurs first.
1338
 
 
1339
 
    @event ready
1340
 
    @param {Boolean} dispatched &#x60;true&#x60; if routes have already been dispatched
1341
 
      (most likely due to a history change).
1342
 
    @fireOnce
1343
 
    **&#x2F;
1344
 
    EVT_READY = &#x27;ready&#x27;;
1345
 
 
1346
 
&#x2F;**
1347
 
Provides URL-based routing using HTML5 &#x60;pushState()&#x60; or the location hash.
1348
 
 
1349
 
This makes it easy to wire up route handlers for different application states
1350
 
while providing full back&#x2F;forward navigation support and bookmarkable, shareable
1351
 
URLs.
1352
 
 
1353
 
@class Router
1354
 
@param {Object} [config] Config properties.
1355
 
    @param {Boolean} [config.html5] Overrides the default capability detection
1356
 
        and forces this router to use (&#x60;true&#x60;) or not use (&#x60;false&#x60;) HTML5
1357
 
        history.
1358
 
    @param {String} [config.root=&#x27;&#x27;] Root path from which all routes should be
1359
 
        evaluated.
1360
 
    @param {Array} [config.routes=[]] Array of route definition objects.
1361
 
@constructor
1362
 
@extends Base
1363
 
@since 3.4.0
1364
 
**&#x2F;
1365
 
function Router() {
1366
 
    Router.superclass.constructor.apply(this, arguments);
1367
 
}
1368
 
 
1369
 
Y.Router = Y.extend(Router, Y.Base, {
1370
 
    &#x2F;&#x2F; -- Protected Properties -------------------------------------------------
1371
 
 
1372
 
    &#x2F;**
1373
 
    Whether or not &#x60;_dispatch()&#x60; has been called since this router was
1374
 
    instantiated.
1375
 
 
1376
 
    @property _dispatched
1377
 
    @type Boolean
1378
 
    @default undefined
1379
 
    @protected
1380
 
    **&#x2F;
1381
 
 
1382
 
    &#x2F;**
1383
 
    Whether or not we&#x27;re currently in the process of dispatching to routes.
1384
 
 
1385
 
    @property _dispatching
1386
 
    @type Boolean
1387
 
    @default undefined
1388
 
    @protected
1389
 
    **&#x2F;
1390
 
 
1391
 
    &#x2F;**
1392
 
    Cached copy of the &#x60;html5&#x60; attribute for internal use.
1393
 
 
1394
 
    @property _html5
1395
 
    @type Boolean
1396
 
    @protected
1397
 
    **&#x2F;
1398
 
 
1399
 
    &#x2F;**
1400
 
    Whether or not the &#x60;ready&#x60; event has fired yet.
1401
 
 
1402
 
    @property _ready
1403
 
    @type Boolean
1404
 
    @default undefined
1405
 
    @protected
1406
 
    **&#x2F;
1407
 
 
1408
 
    &#x2F;**
1409
 
    Regex used to match parameter placeholders in route paths.
1410
 
 
1411
 
    Subpattern captures:
1412
 
 
1413
 
      1. Parameter prefix character. Either a &#x60;:&#x60; for subpath parameters that
1414
 
         should only match a single level of a path, or &#x60;*&#x60; for splat parameters
1415
 
         that should match any number of path levels.
1416
 
 
1417
 
      2. Parameter name, if specified, otherwise it is a wildcard match.
1418
 
 
1419
 
    @property _regexPathParam
1420
 
    @type RegExp
1421
 
    @protected
1422
 
    **&#x2F;
1423
 
    _regexPathParam: &#x2F;([:*])([\w\-]+)?&#x2F;g,
1424
 
 
1425
 
    &#x2F;**
1426
 
    Regex that matches and captures the query portion of a URL, minus the
1427
 
    preceding &#x60;?&#x60; character, and discarding the hash portion of the URL if any.
1428
 
 
1429
 
    @property _regexUrlQuery
1430
 
    @type RegExp
1431
 
    @protected
1432
 
    **&#x2F;
1433
 
    _regexUrlQuery: &#x2F;\?([^#]*).*$&#x2F;,
1434
 
 
1435
 
    &#x2F;**
1436
 
    Regex that matches everything before the path portion of a URL (the origin).
1437
 
    This will be used to strip this part of the URL from a string when we
1438
 
    only want the path.
1439
 
 
1440
 
    @property _regexUrlOrigin
1441
 
    @type RegExp
1442
 
    @protected
1443
 
    **&#x2F;
1444
 
    _regexUrlOrigin: &#x2F;^(?:[^\&#x2F;#?:]+:\&#x2F;\&#x2F;|\&#x2F;\&#x2F;)[^\&#x2F;]*&#x2F;,
1445
 
 
1446
 
    &#x2F;&#x2F; -- Lifecycle Methods ----------------------------------------------------
1447
 
    initializer: function (config) {
1448
 
        var self = this;
1449
 
 
1450
 
        self._html5  = self.get(&#x27;html5&#x27;);
1451
 
        self._routes = [];
1452
 
        self._url    = self._getURL();
1453
 
 
1454
 
        &#x2F;&#x2F; Necessary because setters don&#x27;t run on init.
1455
 
        self._setRoutes(config &amp;&amp; config.routes ? config.routes :
1456
 
                self.get(&#x27;routes&#x27;));
1457
 
 
1458
 
        &#x2F;&#x2F; Set up a history instance or hashchange listener.
1459
 
        if (self._html5) {
1460
 
            self._history = new Y.HistoryHTML5({force: true});
1461
 
            Y.after(&#x27;history:change&#x27;, self._afterHistoryChange, self);
1462
 
        } else {
1463
 
            Y.on(&#x27;hashchange&#x27;, self._afterHistoryChange, win, self);
1464
 
        }
1465
 
 
1466
 
        &#x2F;&#x2F; Fire a &#x60;ready&#x60; event once we&#x27;re ready to route. We wait first for all
1467
 
        &#x2F;&#x2F; subclass initializers to finish, then for window.onload, and then an
1468
 
        &#x2F;&#x2F; additional 20ms to allow the browser to fire a useless initial
1469
 
        &#x2F;&#x2F; &#x60;popstate&#x60; event if it wants to (and Chrome always wants to).
1470
 
        self.publish(EVT_READY, {
1471
 
            defaultFn  : self._defReadyFn,
1472
 
            fireOnce   : true,
1473
 
            preventable: false
1474
 
        });
1475
 
 
1476
 
        self.once(&#x27;initializedChange&#x27;, function () {
1477
 
            Y.once(&#x27;load&#x27;, function () {
1478
 
                setTimeout(function () {
1479
 
                    self.fire(EVT_READY, {dispatched: !!self._dispatched});
1480
 
                }, 20);
1481
 
            });
1482
 
        });
1483
 
    },
1484
 
 
1485
 
    destructor: function () {
1486
 
        if (this._html5) {
1487
 
            Y.detach(&#x27;history:change&#x27;, this._afterHistoryChange, this);
1488
 
        } else {
1489
 
            Y.detach(&#x27;hashchange&#x27;, this._afterHistoryChange, win);
1490
 
        }
1491
 
    },
1492
 
 
1493
 
    &#x2F;&#x2F; -- Public Methods -------------------------------------------------------
1494
 
 
1495
 
    &#x2F;**
1496
 
    Dispatches to the first route handler that matches the current URL, if any.
1497
 
 
1498
 
    If &#x60;dispatch()&#x60; is called before the &#x60;ready&#x60; event has fired, it will
1499
 
    automatically wait for the &#x60;ready&#x60; event before dispatching. Otherwise it
1500
 
    will dispatch immediately.
1501
 
 
1502
 
    @method dispatch
1503
 
    @chainable
1504
 
    **&#x2F;
1505
 
    dispatch: function () {
1506
 
        this.once(EVT_READY, function () {
1507
 
            this._ready = true;
1508
 
 
1509
 
            if (this._html5 &amp;&amp; this.upgrade()) {
1510
 
                return;
1511
 
            } else {
1512
 
                this._dispatch(this._getPath(), this._getURL());
1513
 
            }
1514
 
        });
1515
 
 
1516
 
        return this;
1517
 
    },
1518
 
 
1519
 
    &#x2F;**
1520
 
    Gets the current route path, relative to the &#x60;root&#x60; (if any).
1521
 
 
1522
 
    @method getPath
1523
 
    @return {String} Current route path.
1524
 
    **&#x2F;
1525
 
    getPath: function () {
1526
 
        return this._getPath();
1527
 
    },
1528
 
 
1529
 
    &#x2F;**
1530
 
    Returns &#x60;true&#x60; if this router has at least one route that matches the
1531
 
    specified URL, &#x60;false&#x60; otherwise.
1532
 
 
1533
 
    This method enforces the same-origin security constraint on the specified
1534
 
    &#x60;url&#x60;; any URL which is not from the same origin as the current URL will
1535
 
    always return &#x60;false&#x60;.
1536
 
 
1537
 
    @method hasRoute
1538
 
    @param {String} url URL to match.
1539
 
    @return {Boolean} &#x60;true&#x60; if there&#x27;s at least one matching route, &#x60;false&#x60;
1540
 
      otherwise.
1541
 
    **&#x2F;
1542
 
    hasRoute: function (url) {
1543
 
        if (!this._hasSameOrigin(url)) {
1544
 
            return false;
1545
 
        }
1546
 
 
1547
 
        url = this.removeQuery(this.removeRoot(url));
1548
 
 
1549
 
        return !!this.match(url).length;
1550
 
    },
1551
 
 
1552
 
    &#x2F;**
1553
 
    Returns an array of route objects that match the specified URL path.
1554
 
 
1555
 
    This method is called internally to determine which routes match the current
1556
 
    path whenever the URL changes. You may override it if you want to customize
1557
 
    the route matching logic, although this usually shouldn&#x27;t be necessary.
1558
 
 
1559
 
    Each returned route object has the following properties:
1560
 
 
1561
 
      * &#x60;callback&#x60;: A function or a string representing the name of a function
1562
 
        this router that should be executed when the route is triggered.
1563
 
      * &#x60;keys&#x60;: An array of strings representing the named parameters defined in
1564
 
        the route&#x27;s path specification, if any.
1565
 
      * &#x60;path&#x60;: The route&#x27;s path specification, which may be either a string or
1566
 
        a regex.
1567
 
      * &#x60;regex&#x60;: A regular expression version of the route&#x27;s path specification.
1568
 
        This regex is used to determine whether the route matches a given path.
1569
 
 
1570
 
    @example
1571
 
        router.route(&#x27;&#x2F;foo&#x27;, function () {});
1572
 
        router.match(&#x27;&#x2F;foo&#x27;);
1573
 
        &#x2F;&#x2F; =&gt; [{callback: ..., keys: [], path: &#x27;&#x2F;foo&#x27;, regex: ...}]
1574
 
 
1575
 
    @method match
1576
 
    @param {String} path URL path to match.
1577
 
    @return {Object[]} Array of route objects that match the specified path.
1578
 
    **&#x2F;
1579
 
    match: function (path) {
1580
 
        return YArray.filter(this._routes, function (route) {
1581
 
            return path.search(route.regex) &gt; -1;
1582
 
        });
1583
 
    },
1584
 
 
1585
 
    &#x2F;**
1586
 
    Removes the &#x60;root&#x60; URL from the front of _url_ (if it&#x27;s there) and returns
1587
 
    the result. The returned path will always have a leading &#x60;&#x2F;&#x60;.
1588
 
 
1589
 
    @method removeRoot
1590
 
    @param {String} url URL.
1591
 
    @return {String} Rootless path.
1592
 
    **&#x2F;
1593
 
    removeRoot: function (url) {
1594
 
        var root = this.get(&#x27;root&#x27;);
1595
 
 
1596
 
        &#x2F;&#x2F; Strip out the non-path part of the URL, if any (e.g.
1597
 
        &#x2F;&#x2F; &quot;http:&#x2F;&#x2F;foo.com&quot;), so that we&#x27;re left with just the path.
1598
 
        url = url.replace(this._regexUrlOrigin, &#x27;&#x27;);
1599
 
 
1600
 
        if (root &amp;&amp; url.indexOf(root) === 0) {
1601
 
            url = url.substring(root.length);
1602
 
        }
1603
 
 
1604
 
        return url.charAt(0) === &#x27;&#x2F;&#x27; ? url : &#x27;&#x2F;&#x27; + url;
1605
 
    },
1606
 
 
1607
 
    &#x2F;**
1608
 
    Removes a query string from the end of the _url_ (if one exists) and returns
1609
 
    the result.
1610
 
 
1611
 
    @method removeQuery
1612
 
    @param {String} url URL.
1613
 
    @return {String} Queryless path.
1614
 
    **&#x2F;
1615
 
    removeQuery: function (url) {
1616
 
        return url.replace(&#x2F;\?.*$&#x2F;, &#x27;&#x27;);
1617
 
    },
1618
 
 
1619
 
    &#x2F;**
1620
 
    Replaces the current browser history entry with a new one, and dispatches to
1621
 
    the first matching route handler, if any.
1622
 
 
1623
 
    Behind the scenes, this method uses HTML5 &#x60;pushState()&#x60; in browsers that
1624
 
    support it (or the location hash in older browsers and IE) to change the
1625
 
    URL.
1626
 
 
1627
 
    The specified URL must share the same origin (i.e., protocol, host, and
1628
 
    port) as the current page, or an error will occur.
1629
 
 
1630
 
    @example
1631
 
        &#x2F;&#x2F; Starting URL: http:&#x2F;&#x2F;example.com&#x2F;
1632
 
 
1633
 
        router.replace(&#x27;&#x2F;path&#x2F;&#x27;);
1634
 
        &#x2F;&#x2F; New URL: http:&#x2F;&#x2F;example.com&#x2F;path&#x2F;
1635
 
 
1636
 
        router.replace(&#x27;&#x2F;path?foo=bar&#x27;);
1637
 
        &#x2F;&#x2F; New URL: http:&#x2F;&#x2F;example.com&#x2F;path?foo=bar
1638
 
 
1639
 
        router.replace(&#x27;&#x2F;&#x27;);
1640
 
        &#x2F;&#x2F; New URL: http:&#x2F;&#x2F;example.com&#x2F;
1641
 
 
1642
 
    @method replace
1643
 
    @param {String} [url] URL to set. This URL needs to be of the same origin as
1644
 
      the current URL. This can be a URL relative to the router&#x27;s &#x60;root&#x60;
1645
 
      attribute. If no URL is specified, the page&#x27;s current URL will be used.
1646
 
    @chainable
1647
 
    @see save()
1648
 
    **&#x2F;
1649
 
    replace: function (url) {
1650
 
        return this._queue(url, true);
1651
 
    },
1652
 
 
1653
 
    &#x2F;**
1654
 
    Adds a route handler for the specified URL _path_.
1655
 
 
1656
 
    The _path_ parameter may be either a string or a regular expression. If it&#x27;s
1657
 
    a string, it may contain named parameters: &#x60;:param&#x60; will match any single
1658
 
    part of a URL path (not including &#x60;&#x2F;&#x60; characters), and &#x60;*param&#x60; will match
1659
 
    any number of parts of a URL path (including &#x60;&#x2F;&#x60; characters). These named
1660
 
    parameters will be made available as keys on the &#x60;req.params&#x60; object that&#x27;s
1661
 
    passed to route handlers.
1662
 
 
1663
 
    If the _path_ parameter is a regex, all pattern matches will be made
1664
 
    available as numbered keys on &#x60;req.params&#x60;, starting with &#x60;0&#x60; for the full
1665
 
    match, then &#x60;1&#x60; for the first subpattern match, and so on.
1666
 
 
1667
 
    Here&#x27;s a set of sample routes along with URL paths that they match:
1668
 
 
1669
 
      * Route: &#x60;&#x2F;photos&#x2F;:tag&#x2F;:page&#x60;
1670
 
        * URL: &#x60;&#x2F;photos&#x2F;kittens&#x2F;1&#x60;, params: &#x60;{tag: &#x27;kittens&#x27;, page: &#x27;1&#x27;}&#x60;
1671
 
        * URL: &#x60;&#x2F;photos&#x2F;puppies&#x2F;2&#x60;, params: &#x60;{tag: &#x27;puppies&#x27;, page: &#x27;2&#x27;}&#x60;
1672
 
 
1673
 
      * Route: &#x60;&#x2F;file&#x2F;*path&#x60;
1674
 
        * URL: &#x60;&#x2F;file&#x2F;foo&#x2F;bar&#x2F;baz.txt&#x60;, params: &#x60;{path: &#x27;foo&#x2F;bar&#x2F;baz.txt&#x27;}&#x60;
1675
 
        * URL: &#x60;&#x2F;file&#x2F;foo&#x60;, params: &#x60;{path: &#x27;foo&#x27;}&#x60;
1676
 
 
1677
 
    If multiple route handlers match a given URL, they will be executed in the
1678
 
    order they were added. The first route that was added will be the first to
1679
 
    be executed.
1680
 
 
1681
 
    @example
1682
 
        router.route(&#x27;&#x2F;photos&#x2F;:tag&#x2F;:page&#x27;, function (req, res, next) {
1683
 
          Y.log(&#x27;Current tag: &#x27; + req.params.tag);
1684
 
          Y.log(&#x27;Current page number: &#x27; + req.params.page);
1685
 
        });
1686
 
 
1687
 
    @method route
1688
 
    @param {String|RegExp} path Path to match. May be a string or a regular
1689
 
      expression.
1690
 
    @param {Function|String} callback Callback function to call whenever this
1691
 
        route is triggered. If specified as a string, the named function will be
1692
 
        called on this router instance.
1693
 
      @param {Object} callback.req Request object containing information about
1694
 
          the request. It contains the following properties.
1695
 
        @param {Array|Object} callback.req.params Captured parameters matched by
1696
 
          the route path specification. If a string path was used and contained
1697
 
          named parameters, then this will be a key&#x2F;value hash mapping parameter
1698
 
          names to their matched values. If a regex path was used, this will be
1699
 
          an array of subpattern matches starting at index 0 for the full match,
1700
 
          then 1 for the first subpattern match, and so on.
1701
 
        @param {String} callback.req.path The current URL path.
1702
 
        @param {Object} callback.req.query Query hash representing the URL query
1703
 
          string, if any. Parameter names are keys, and are mapped to parameter
1704
 
          values.
1705
 
        @param {String} callback.req.url The full URL.
1706
 
        @param {String} callback.req.src What initiated the dispatch. In an
1707
 
          HTML5 browser, when the back&#x2F;forward buttons are used, this property
1708
 
          will have a value of &quot;popstate&quot;.
1709
 
      @param {Object} callback.res Response object containing methods and
1710
 
          information that relate to responding to a request. It contains the
1711
 
          following properties.
1712
 
        @param {Object} callback.res.req Reference to the request object.
1713
 
      @param {Function} callback.next Callback to pass control to the next
1714
 
        matching route. If you don&#x27;t call this function, then no further route
1715
 
        handlers will be executed, even if there are more that match. If you do
1716
 
        call this function, then the next matching route handler (if any) will
1717
 
        be called, and will receive the same &#x60;req&#x60; object that was passed to
1718
 
        this route (so you can use the request object to pass data along to
1719
 
        subsequent routes).
1720
 
    @chainable
1721
 
    **&#x2F;
1722
 
    route: function (path, callback) {
1723
 
        var keys = [];
1724
 
 
1725
 
        this._routes.push({
1726
 
            callback: callback,
1727
 
            keys    : keys,
1728
 
            path    : path,
1729
 
            regex   : this._getRegex(path, keys)
1730
 
        });
1731
 
 
1732
 
        return this;
1733
 
    },
1734
 
 
1735
 
    &#x2F;**
1736
 
    Saves a new browser history entry and dispatches to the first matching route
1737
 
    handler, if any.
1738
 
 
1739
 
    Behind the scenes, this method uses HTML5 &#x60;pushState()&#x60; in browsers that
1740
 
    support it (or the location hash in older browsers and IE) to change the
1741
 
    URL and create a history entry.
1742
 
 
1743
 
    The specified URL must share the same origin (i.e., protocol, host, and
1744
 
    port) as the current page, or an error will occur.
1745
 
 
1746
 
    @example
1747
 
        &#x2F;&#x2F; Starting URL: http:&#x2F;&#x2F;example.com&#x2F;
1748
 
 
1749
 
        router.save(&#x27;&#x2F;path&#x2F;&#x27;);
1750
 
        &#x2F;&#x2F; New URL: http:&#x2F;&#x2F;example.com&#x2F;path&#x2F;
1751
 
 
1752
 
        router.save(&#x27;&#x2F;path?foo=bar&#x27;);
1753
 
        &#x2F;&#x2F; New URL: http:&#x2F;&#x2F;example.com&#x2F;path?foo=bar
1754
 
 
1755
 
        router.save(&#x27;&#x2F;&#x27;);
1756
 
        &#x2F;&#x2F; New URL: http:&#x2F;&#x2F;example.com&#x2F;
1757
 
 
1758
 
    @method save
1759
 
    @param {String} [url] URL to set. This URL needs to be of the same origin as
1760
 
      the current URL. This can be a URL relative to the router&#x27;s &#x60;root&#x60;
1761
 
      attribute. If no URL is specified, the page&#x27;s current URL will be used.
1762
 
    @chainable
1763
 
    @see replace()
1764
 
    **&#x2F;
1765
 
    save: function (url) {
1766
 
        return this._queue(url);
1767
 
    },
1768
 
 
1769
 
    &#x2F;**
1770
 
    Upgrades a hash-based URL to an HTML5 URL if necessary. In non-HTML5
1771
 
    browsers, this method is a noop.
1772
 
 
1773
 
    @method upgrade
1774
 
    @return {Boolean} &#x60;true&#x60; if the URL was upgraded, &#x60;false&#x60; otherwise.
1775
 
    **&#x2F;
1776
 
    upgrade: function () {
1777
 
        if (!this._html5) {
1778
 
            return false;
1779
 
        }
1780
 
 
1781
 
        &#x2F;&#x2F; Get the full hash in all its glory!
1782
 
        var hash = HistoryHash.getHash();
1783
 
 
1784
 
        if (hash &amp;&amp; hash.charAt(0) === &#x27;&#x2F;&#x27;) {
1785
 
            &#x2F;&#x2F; This is an HTML5 browser and we have a hash-based path in the
1786
 
            &#x2F;&#x2F; URL, so we need to upgrade the URL to a non-hash URL. This
1787
 
            &#x2F;&#x2F; will trigger a &#x60;history:change&#x60; event, which will in turn
1788
 
            &#x2F;&#x2F; trigger a dispatch.
1789
 
            this.once(EVT_READY, function () {
1790
 
                this.replace(hash);
1791
 
            });
1792
 
 
1793
 
            return true;
1794
 
        }
1795
 
 
1796
 
        return false;
1797
 
    },
1798
 
 
1799
 
    &#x2F;&#x2F; -- Protected Methods ----------------------------------------------------
1800
 
 
1801
 
    &#x2F;**
1802
 
    Wrapper around &#x60;decodeURIComponent&#x60; that also converts &#x60;+&#x60; chars into
1803
 
    spaces.
1804
 
 
1805
 
    @method _decode
1806
 
    @param {String} string String to decode.
1807
 
    @return {String} Decoded string.
1808
 
    @protected
1809
 
    **&#x2F;
1810
 
    _decode: function (string) {
1811
 
        return decodeURIComponent(string.replace(&#x2F;\+&#x2F;g, &#x27; &#x27;));
1812
 
    },
1813
 
 
1814
 
    &#x2F;**
1815
 
    Shifts the topmost &#x60;_save()&#x60; call off the queue and executes it. Does
1816
 
    nothing if the queue is empty.
1817
 
 
1818
 
    @method _dequeue
1819
 
    @chainable
1820
 
    @see _queue
1821
 
    @protected
1822
 
    **&#x2F;
1823
 
    _dequeue: function () {
1824
 
        var self = this,
1825
 
            fn;
1826
 
 
1827
 
        &#x2F;&#x2F; If window.onload hasn&#x27;t yet fired, wait until it has before
1828
 
        &#x2F;&#x2F; dequeueing. This will ensure that we don&#x27;t call pushState() before an
1829
 
        &#x2F;&#x2F; initial popstate event has fired.
1830
 
        if (!YUI.Env.windowLoaded) {
1831
 
            Y.once(&#x27;load&#x27;, function () {
1832
 
                self._dequeue();
1833
 
            });
1834
 
 
1835
 
            return this;
1836
 
        }
1837
 
 
1838
 
        fn = saveQueue.shift();
1839
 
        return fn ? fn() : this;
1840
 
    },
1841
 
 
1842
 
    &#x2F;**
1843
 
    Dispatches to the first route handler that matches the specified _path_.
1844
 
 
1845
 
    If called before the &#x60;ready&#x60; event has fired, the dispatch will be aborted.
1846
 
    This ensures normalized behavior between Chrome (which fires a &#x60;popstate&#x60;
1847
 
    event on every pageview) and other browsers (which do not).
1848
 
 
1849
 
    @method _dispatch
1850
 
    @param {String} path URL path.
1851
 
    @param {String} url Full URL.
1852
 
    @param {String} src What initiated the dispatch.
1853
 
    @chainable
1854
 
    @protected
1855
 
    **&#x2F;
1856
 
    _dispatch: function (path, url, src) {
1857
 
        var self   = this,
1858
 
            routes = self.match(path),
1859
 
            req, res;
1860
 
 
1861
 
        self._dispatching = self._dispatched = true;
1862
 
 
1863
 
        if (!routes || !routes.length) {
1864
 
            self._dispatching = false;
1865
 
            return self;
1866
 
        }
1867
 
 
1868
 
        req = self._getRequest(path, url, src);
1869
 
        res = self._getResponse(req);
1870
 
 
1871
 
        req.next = function (err) {
1872
 
            var callback, matches, route;
1873
 
 
1874
 
            if (err) {
1875
 
                Y.error(err);
1876
 
            } else if ((route = routes.shift())) {
1877
 
                matches  = route.regex.exec(path);
1878
 
                callback = typeof route.callback === &#x27;string&#x27; ?
1879
 
                        self[route.callback] : route.callback;
1880
 
 
1881
 
                &#x2F;&#x2F; Use named keys for parameter names if the route path contains
1882
 
                &#x2F;&#x2F; named keys. Otherwise, use numerical match indices.
1883
 
                if (matches.length === route.keys.length + 1) {
1884
 
                    req.params = YArray.hash(route.keys, matches.slice(1));
1885
 
                } else {
1886
 
                    req.params = matches.concat();
1887
 
                }
1888
 
 
1889
 
                callback.call(self, req, res, req.next);
1890
 
            }
1891
 
        };
1892
 
 
1893
 
        req.next();
1894
 
 
1895
 
        self._dispatching = false;
1896
 
        return self._dequeue();
1897
 
    },
1898
 
 
1899
 
    &#x2F;**
1900
 
    Gets the current path from the location hash, or an empty string if the
1901
 
    hash is empty.
1902
 
 
1903
 
    @method _getHashPath
1904
 
    @return {String} Current hash path, or an empty string if the hash is empty.
1905
 
    @protected
1906
 
    **&#x2F;
1907
 
    _getHashPath: function () {
1908
 
        return HistoryHash.getHash().replace(this._regexUrlQuery, &#x27;&#x27;);
1909
 
    },
1910
 
 
1911
 
    &#x2F;**
1912
 
    Gets the location origin (i.e., protocol, host, and port) as a URL.
1913
 
 
1914
 
    @example
1915
 
        http:&#x2F;&#x2F;example.com
1916
 
 
1917
 
    @method _getOrigin
1918
 
    @return {String} Location origin (i.e., protocol, host, and port).
1919
 
    @protected
1920
 
    **&#x2F;
1921
 
    _getOrigin: function () {
1922
 
        var location = Y.getLocation();
1923
 
        return location.origin || (location.protocol + &#x27;&#x2F;&#x2F;&#x27; + location.host);
1924
 
    },
1925
 
 
1926
 
    &#x2F;**
1927
 
    Gets the current route path, relative to the &#x60;root&#x60; (if any).
1928
 
 
1929
 
    @method _getPath
1930
 
    @return {String} Current route path.
1931
 
    @protected
1932
 
    **&#x2F;
1933
 
    _getPath: function () {
1934
 
        var path = (!this._html5 &amp;&amp; this._getHashPath()) ||
1935
 
                Y.getLocation().pathname;
1936
 
 
1937
 
        return this.removeQuery(this.removeRoot(path));
1938
 
    },
1939
 
 
1940
 
    &#x2F;**
1941
 
    Gets the current route query string.
1942
 
 
1943
 
    @method _getQuery
1944
 
    @return {String} Current route query string.
1945
 
    @protected
1946
 
    **&#x2F;
1947
 
    _getQuery: function () {
1948
 
        var location = Y.getLocation(),
1949
 
            hash, matches;
1950
 
 
1951
 
        if (this._html5) {
1952
 
            return location.search.substring(1);
1953
 
        }
1954
 
 
1955
 
        hash    = HistoryHash.getHash();
1956
 
        matches = hash.match(this._regexUrlQuery);
1957
 
 
1958
 
        return hash &amp;&amp; matches ? matches[1] : location.search.substring(1);
1959
 
    },
1960
 
 
1961
 
    &#x2F;**
1962
 
    Creates a regular expression from the given route specification. If _path_
1963
 
    is already a regex, it will be returned unmodified.
1964
 
 
1965
 
    @method _getRegex
1966
 
    @param {String|RegExp} path Route path specification.
1967
 
    @param {Array} keys Array reference to which route parameter names will be
1968
 
      added.
1969
 
    @return {RegExp} Route regex.
1970
 
    @protected
1971
 
    **&#x2F;
1972
 
    _getRegex: function (path, keys) {
1973
 
        if (path instanceof RegExp) {
1974
 
            return path;
1975
 
        }
1976
 
 
1977
 
        &#x2F;&#x2F; Special case for catchall paths.
1978
 
        if (path === &#x27;*&#x27;) {
1979
 
            return (&#x2F;.*&#x2F;);
1980
 
        }
1981
 
 
1982
 
        path = path.replace(this._regexPathParam, function (match, operator, key) {
1983
 
            &#x2F;&#x2F; Only &#x60;*&#x60; operators are supported for key-less matches to allowing
1984
 
            &#x2F;&#x2F; in-path wildcards like: &#x27;&#x2F;foo&#x2F;*&#x27;.
1985
 
            if (!key) {
1986
 
                return operator === &#x27;*&#x27; ? &#x27;.*&#x27; : match;
1987
 
            }
1988
 
 
1989
 
            keys.push(key);
1990
 
            return operator === &#x27;*&#x27; ? &#x27;(.*?)&#x27; : &#x27;([^&#x2F;#?]*)&#x27;;
1991
 
        });
1992
 
 
1993
 
        return new RegExp(&#x27;^&#x27; + path + &#x27;$&#x27;);
1994
 
    },
1995
 
 
1996
 
    &#x2F;**
1997
 
    Gets a request object that can be passed to a route handler.
1998
 
 
1999
 
    @method _getRequest
2000
 
    @param {String} path Current path being dispatched.
2001
 
    @param {String} url Current full URL being dispatched.
2002
 
    @param {String} src What initiated the dispatch.
2003
 
    @return {Object} Request object.
2004
 
    @protected
2005
 
    **&#x2F;
2006
 
    _getRequest: function (path, url, src) {
2007
 
        return {
2008
 
            path : path,
2009
 
            query: this._parseQuery(this._getQuery()),
2010
 
            url  : url,
2011
 
            src  : src
2012
 
        };
2013
 
    },
2014
 
 
2015
 
    &#x2F;**
2016
 
    Gets a response object that can be passed to a route handler.
2017
 
 
2018
 
    @method _getResponse
2019
 
    @param {Object} req Request object.
2020
 
    @return {Object} Response Object.
2021
 
    @protected
2022
 
    **&#x2F;
2023
 
    _getResponse: function (req) {
2024
 
        &#x2F;&#x2F; For backwards compatibility, the response object is a function that
2025
 
        &#x2F;&#x2F; calls &#x60;next()&#x60; on the request object and returns the result.
2026
 
        var res = function () {
2027
 
            return req.next.apply(this, arguments);
2028
 
        };
2029
 
 
2030
 
        res.req = req;
2031
 
        return res;
2032
 
    },
2033
 
 
2034
 
    &#x2F;**
2035
 
    Getter for the &#x60;routes&#x60; attribute.
2036
 
 
2037
 
    @method _getRoutes
2038
 
    @return {Object[]} Array of route objects.
2039
 
    @protected
2040
 
    **&#x2F;
2041
 
    _getRoutes: function () {
2042
 
        return this._routes.concat();
2043
 
    },
2044
 
 
2045
 
    &#x2F;**
2046
 
    Gets the current full URL.
2047
 
 
2048
 
    @method _getURL
2049
 
    @return {String} URL.
2050
 
    @protected
2051
 
    **&#x2F;
2052
 
    _getURL: function () {
2053
 
        return Y.getLocation().toString();
2054
 
    },
2055
 
 
2056
 
    &#x2F;**
2057
 
    Returns &#x60;true&#x60; when the specified &#x60;url&#x60; is from the same origin as the
2058
 
    current URL; i.e., the protocol, host, and port of the URLs are the same.
2059
 
 
2060
 
    All host or path relative URLs are of the same origin. A scheme-relative URL
2061
 
    is first prefixed with the current scheme before being evaluated.
2062
 
 
2063
 
    @method _hasSameOrigin
2064
 
    @param {String} url URL to compare origin with the current URL.
2065
 
    @return {Boolean} Whether the URL has the same origin of the current URL.
2066
 
    @protected
2067
 
    **&#x2F;
2068
 
    _hasSameOrigin: function (url) {
2069
 
        var origin = ((url &amp;&amp; url.match(this._regexUrlOrigin)) || [])[0];
2070
 
 
2071
 
        &#x2F;&#x2F; Prepend current scheme to scheme-relative URLs.
2072
 
        if (origin &amp;&amp; origin.indexOf(&#x27;&#x2F;&#x2F;&#x27;) === 0) {
2073
 
            origin = Y.getLocation().protocol + origin;
2074
 
        }
2075
 
 
2076
 
        return !origin || origin === this._getOrigin();
2077
 
    },
2078
 
 
2079
 
    &#x2F;**
2080
 
    Joins the &#x60;root&#x60; URL to the specified _url_, normalizing leading&#x2F;trailing
2081
 
    &#x60;&#x2F;&#x60; characters.
2082
 
 
2083
 
    @example
2084
 
        router.set(&#x27;root&#x27;, &#x27;&#x2F;foo&#x27;);
2085
 
        router._joinURL(&#x27;bar&#x27;);  &#x2F;&#x2F; =&gt; &#x27;&#x2F;foo&#x2F;bar&#x27;
2086
 
        router._joinURL(&#x27;&#x2F;bar&#x27;); &#x2F;&#x2F; =&gt; &#x27;&#x2F;foo&#x2F;bar&#x27;
2087
 
 
2088
 
        router.set(&#x27;root&#x27;, &#x27;&#x2F;foo&#x2F;&#x27;);
2089
 
        router._joinURL(&#x27;bar&#x27;);  &#x2F;&#x2F; =&gt; &#x27;&#x2F;foo&#x2F;bar&#x27;
2090
 
        router._joinURL(&#x27;&#x2F;bar&#x27;); &#x2F;&#x2F; =&gt; &#x27;&#x2F;foo&#x2F;bar&#x27;
2091
 
 
2092
 
    @method _joinURL
2093
 
    @param {String} url URL to append to the &#x60;root&#x60; URL.
2094
 
    @return {String} Joined URL.
2095
 
    @protected
2096
 
    **&#x2F;
2097
 
    _joinURL: function (url) {
2098
 
        var root = this.get(&#x27;root&#x27;);
2099
 
 
2100
 
        url = this.removeRoot(url);
2101
 
 
2102
 
        if (url.charAt(0) === &#x27;&#x2F;&#x27;) {
2103
 
            url = url.substring(1);
2104
 
        }
2105
 
 
2106
 
        return root &amp;&amp; root.charAt(root.length - 1) === &#x27;&#x2F;&#x27; ?
2107
 
                root + url :
2108
 
                root + &#x27;&#x2F;&#x27; + url;
2109
 
    },
2110
 
 
2111
 
    &#x2F;**
2112
 
    Parses a URL query string into a key&#x2F;value hash. If &#x60;Y.QueryString.parse&#x60; is
2113
 
    available, this method will be an alias to that.
2114
 
 
2115
 
    @method _parseQuery
2116
 
    @param {String} query Query string to parse.
2117
 
    @return {Object} Hash of key&#x2F;value pairs for query parameters.
2118
 
    @protected
2119
 
    **&#x2F;
2120
 
    _parseQuery: QS &amp;&amp; QS.parse ? QS.parse : function (query) {
2121
 
        var decode = this._decode,
2122
 
            params = query.split(&#x27;&amp;&#x27;),
2123
 
            i      = 0,
2124
 
            len    = params.length,
2125
 
            result = {},
2126
 
            param;
2127
 
 
2128
 
        for (; i &lt; len; ++i) {
2129
 
            param = params[i].split(&#x27;=&#x27;);
2130
 
 
2131
 
            if (param[0]) {
2132
 
                result[decode(param[0])] = decode(param[1] || &#x27;&#x27;);
2133
 
            }
2134
 
        }
2135
 
 
2136
 
        return result;
2137
 
    },
2138
 
 
2139
 
    &#x2F;**
2140
 
    Queues up a &#x60;_save()&#x60; call to run after all previously-queued calls have
2141
 
    finished.
2142
 
 
2143
 
    This is necessary because if we make multiple &#x60;_save()&#x60; calls before the
2144
 
    first call gets dispatched, then both calls will dispatch to the last call&#x27;s
2145
 
    URL.
2146
 
 
2147
 
    All arguments passed to &#x60;_queue()&#x60; will be passed on to &#x60;_save()&#x60; when the
2148
 
    queued function is executed.
2149
 
 
2150
 
    @method _queue
2151
 
    @chainable
2152
 
    @see _dequeue
2153
 
    @protected
2154
 
    **&#x2F;
2155
 
    _queue: function () {
2156
 
        var args = arguments,
2157
 
            self = this;
2158
 
 
2159
 
        saveQueue.push(function () {
2160
 
            if (self._html5) {
2161
 
                if (Y.UA.ios &amp;&amp; Y.UA.ios &lt; 5) {
2162
 
                    &#x2F;&#x2F; iOS &lt;5 has buggy HTML5 history support, and needs to be
2163
 
                    &#x2F;&#x2F; synchronous.
2164
 
                    self._save.apply(self, args);
2165
 
                } else {
2166
 
                    &#x2F;&#x2F; Wrapped in a timeout to ensure that _save() calls are
2167
 
                    &#x2F;&#x2F; always processed asynchronously. This ensures consistency
2168
 
                    &#x2F;&#x2F; between HTML5- and hash-based history.
2169
 
                    setTimeout(function () {
2170
 
                        self._save.apply(self, args);
2171
 
                    }, 1);
2172
 
                }
2173
 
            } else {
2174
 
                self._dispatching = true; &#x2F;&#x2F; otherwise we&#x27;ll dequeue too quickly
2175
 
                self._save.apply(self, args);
2176
 
            }
2177
 
 
2178
 
            return self;
2179
 
        });
2180
 
 
2181
 
        return !this._dispatching ? this._dequeue() : this;
2182
 
    },
2183
 
 
2184
 
    &#x2F;**
2185
 
    Saves a history entry using either &#x60;pushState()&#x60; or the location hash.
2186
 
 
2187
 
    This method enforces the same-origin security constraint; attempting to save
2188
 
    a &#x60;url&#x60; that is not from the same origin as the current URL will result in
2189
 
    an error.
2190
 
 
2191
 
    @method _save
2192
 
    @param {String} [url] URL for the history entry.
2193
 
    @param {Boolean} [replace=false] If &#x60;true&#x60;, the current history entry will
2194
 
      be replaced instead of a new one being added.
2195
 
    @chainable
2196
 
    @protected
2197
 
    **&#x2F;
2198
 
    _save: function (url, replace) {
2199
 
        var urlIsString = typeof url === &#x27;string&#x27;;
2200
 
 
2201
 
        &#x2F;&#x2F; Perform same-origin check on the specified URL.
2202
 
        if (urlIsString &amp;&amp; !this._hasSameOrigin(url)) {
2203
 
            Y.error(&#x27;Security error: The new URL must be of the same origin as the current URL.&#x27;);
2204
 
            return this;
2205
 
        }
2206
 
 
2207
 
        &#x2F;&#x2F; Force _ready to true to ensure that the history change is handled
2208
 
        &#x2F;&#x2F; even if _save is called before the &#x60;ready&#x60; event fires.
2209
 
        this._ready = true;
2210
 
 
2211
 
        if (this._html5) {
2212
 
            this._history[replace ? &#x27;replace&#x27; : &#x27;add&#x27;](null, {
2213
 
                url: urlIsString ? this._joinURL(url) : url
2214
 
            });
2215
 
        } else {
2216
 
            &#x2F;&#x2F; Remove the root from the URL before it&#x27;s set as the hash.
2217
 
            urlIsString &amp;&amp; (url = this.removeRoot(url));
2218
 
 
2219
 
            &#x2F;&#x2F; The &#x60;hashchange&#x60; event only fires when the new hash is actually
2220
 
            &#x2F;&#x2F; different. This makes sure we&#x27;ll always dequeue and dispatch,
2221
 
            &#x2F;&#x2F; mimicking the HTML5 behavior.
2222
 
            if (url === HistoryHash.getHash()) {
2223
 
                this._dispatch(this._getPath(), this._getURL());
2224
 
            } else {
2225
 
                HistoryHash[replace ? &#x27;replaceHash&#x27; : &#x27;setHash&#x27;](url);
2226
 
            }
2227
 
        }
2228
 
 
2229
 
        return this;
2230
 
    },
2231
 
 
2232
 
    &#x2F;**
2233
 
    Setter for the &#x60;routes&#x60; attribute.
2234
 
 
2235
 
    @method _setRoutes
2236
 
    @param {Object[]} routes Array of route objects.
2237
 
    @return {Object[]} Array of route objects.
2238
 
    @protected
2239
 
    **&#x2F;
2240
 
    _setRoutes: function (routes) {
2241
 
        this._routes = [];
2242
 
 
2243
 
        YArray.each(routes, function (route) {
2244
 
            this.route(route.path, route.callback);
2245
 
        }, this);
2246
 
 
2247
 
        return this._routes.concat();
2248
 
    },
2249
 
 
2250
 
    &#x2F;&#x2F; -- Protected Event Handlers ---------------------------------------------
2251
 
 
2252
 
    &#x2F;**
2253
 
    Handles &#x60;history:change&#x60; and &#x60;hashchange&#x60; events.
2254
 
 
2255
 
    @method _afterHistoryChange
2256
 
    @param {EventFacade} e
2257
 
    @protected
2258
 
    **&#x2F;
2259
 
    _afterHistoryChange: function (e) {
2260
 
        var self       = this,
2261
 
            src        = e.src,
2262
 
            prevURL    = self._url,
2263
 
            currentURL = self._getURL();
2264
 
 
2265
 
        self._url = currentURL;
2266
 
 
2267
 
        &#x2F;&#x2F; Handles the awkwardness that is the &#x60;popstate&#x60; event. HTML5 browsers
2268
 
        &#x2F;&#x2F; fire &#x60;popstate&#x60; right before they fire &#x60;hashchange&#x60;, and Chrome fires
2269
 
        &#x2F;&#x2F; &#x60;popstate&#x60; on page load. If this router is not ready or the previous
2270
 
        &#x2F;&#x2F; and current URLs only differ by their hash, then we want to ignore
2271
 
        &#x2F;&#x2F; this &#x60;popstate&#x60; event.
2272
 
        if (src === &#x27;popstate&#x27; &amp;&amp;
2273
 
                (!self._ready || prevURL.replace(&#x2F;#.*$&#x2F;, &#x27;&#x27;) === currentURL.replace(&#x2F;#.*$&#x2F;, &#x27;&#x27;))) {
2274
 
 
2275
 
            return;
2276
 
        }
2277
 
 
2278
 
        self._dispatch(self._getPath(), currentURL, src);
2279
 
    },
2280
 
 
2281
 
    &#x2F;&#x2F; -- Default Event Handlers -----------------------------------------------
2282
 
 
2283
 
    &#x2F;**
2284
 
    Default handler for the &#x60;ready&#x60; event.
2285
 
 
2286
 
    @method _defReadyFn
2287
 
    @param {EventFacade} e
2288
 
    @protected
2289
 
    **&#x2F;
2290
 
    _defReadyFn: function (e) {
2291
 
        this._ready = true;
2292
 
    }
2293
 
}, {
2294
 
    &#x2F;&#x2F; -- Static Properties ----------------------------------------------------
2295
 
    NAME: &#x27;router&#x27;,
2296
 
 
2297
 
    ATTRS: {
2298
 
        &#x2F;**
2299
 
        Whether or not this browser is capable of using HTML5 history.
2300
 
 
2301
 
        Setting this to &#x60;false&#x60; will force the use of hash-based history even on
2302
 
        HTML5 browsers, but please don&#x27;t do this unless you understand the
2303
 
        consequences.
2304
 
 
2305
 
        @attribute html5
2306
 
        @type Boolean
2307
 
        @initOnly
2308
 
        **&#x2F;
2309
 
        html5: {
2310
 
            &#x2F;&#x2F; Android versions lower than 3.0 are buggy and don&#x27;t update
2311
 
            &#x2F;&#x2F; window.location after a pushState() call, so we fall back to
2312
 
            &#x2F;&#x2F; hash-based history for them.
2313
 
            &#x2F;&#x2F;
2314
 
            &#x2F;&#x2F; See http:&#x2F;&#x2F;code.google.com&#x2F;p&#x2F;android&#x2F;issues&#x2F;detail?id=17471
2315
 
            valueFn: function () { return Y.Router.html5; },
2316
 
            writeOnce: &#x27;initOnly&#x27;
2317
 
        },
2318
 
 
2319
 
        &#x2F;**
2320
 
        Absolute root path from which all routes should be evaluated.
2321
 
 
2322
 
        For example, if your router is running on a page at
2323
 
        &#x60;http:&#x2F;&#x2F;example.com&#x2F;myapp&#x2F;&#x60; and you add a route with the path &#x60;&#x2F;&#x60;, your
2324
 
        route will never execute, because the path will always be preceded by
2325
 
        &#x60;&#x2F;myapp&#x60;. Setting &#x60;root&#x60; to &#x60;&#x2F;myapp&#x60; would cause all routes to be
2326
 
        evaluated relative to that root URL, so the &#x60;&#x2F;&#x60; route would then execute
2327
 
        when the user browses to &#x60;http:&#x2F;&#x2F;example.com&#x2F;myapp&#x2F;&#x60;.
2328
 
 
2329
 
        @attribute root
2330
 
        @type String
2331
 
        @default &#x60;&#x27;&#x27;&#x60;
2332
 
        **&#x2F;
2333
 
        root: {
2334
 
            value: &#x27;&#x27;
2335
 
        },
2336
 
 
2337
 
        &#x2F;**
2338
 
        Array of route objects.
2339
 
 
2340
 
        Each item in the array must be an object with the following properties:
2341
 
 
2342
 
          * &#x60;path&#x60;: String or regex representing the path to match. See the docs
2343
 
            for the &#x60;route()&#x60; method for more details.
2344
 
 
2345
 
          * &#x60;callback&#x60;: Function or a string representing the name of a function
2346
 
            on this router instance that should be called when the route is
2347
 
            triggered. See the docs for the &#x60;route()&#x60; method for more details.
2348
 
 
2349
 
        This attribute is intended to be used to set routes at init time, or to
2350
 
        completely reset all routes after init. To add routes after init without
2351
 
        resetting all existing routes, use the &#x60;route()&#x60; method.
2352
 
 
2353
 
        @attribute routes
2354
 
        @type Object[]
2355
 
        @default &#x60;[]&#x60;
2356
 
        @see route
2357
 
        **&#x2F;
2358
 
        routes: {
2359
 
            value : [],
2360
 
            getter: &#x27;_getRoutes&#x27;,
2361
 
            setter: &#x27;_setRoutes&#x27;
2362
 
        }
2363
 
    },
2364
 
 
2365
 
    &#x2F;&#x2F; Used as the default value for the &#x60;html5&#x60; attribute, and for testing.
2366
 
    html5: Y.HistoryBase.html5 &amp;&amp; (!Y.UA.android || Y.UA.android &gt;= 3)
2367
 
});
2368
 
 
2369
 
&#x2F;**
2370
 
The &#x60;Controller&#x60; class was deprecated in YUI 3.5.0 and is now an alias for the
2371
 
&#x60;Router&#x60; class. Use that class instead. This alias will be removed in a future
2372
 
version of YUI.
2373
 
 
2374
 
@class Controller
2375
 
@constructor
2376
 
@extends Base
2377
 
@deprecated Use &#x60;Router&#x60; instead.
2378
 
@see Router
2379
 
**&#x2F;
2380
 
Y.Controller = Y.Router;
2381
 
 
2382
 
    </pre>
2383
 
</div>
2384
 
 
2385
 
                    </div>
2386
 
                </div>
2387
 
            </div>
2388
 
        </div>
2389
 
    </div>
2390
 
</div>
2391
 
<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
2392
 
<script>prettyPrint();</script>
2393
 
<script src="..&#x2F;assets/js/yui-prettify.js"></script>
2394
 
<script src="..&#x2F;assets/../api.js"></script>
2395
 
<script src="..&#x2F;assets/js/api-filter.js"></script>
2396
 
<script src="..&#x2F;assets/js/api-list.js"></script>
2397
 
<script src="..&#x2F;assets/js/api-search.js"></script>
2398
 
<script src="..&#x2F;assets/js/apidocs.js"></script>
2399
 
</body>
2400
 
</html>