5
<title>app/js/router.js - YUI 3</title>
6
<link rel="stylesheet" href="http://yui.yahooapis.com/3.5.0/build/cssgrids/cssgrids-min.css">
7
<link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
8
<link rel="stylesheet" href="../assets/css/main.css" id="site_styles">
9
<script src="http://yui.yahooapis.com/3.5.0/build/yui/yui-min.js"></script>
11
<body class="yui3-skin-sam">
14
<div id="hd" class="yui3-g header">
15
<div class="yui3-u-3-4">
17
<h1><img src="../assets/css/logo.png" title="YUI 3"></h1>
20
<div class="yui3-u-1-4 version">
21
<em>API Docs for: 3.5.1</em>
24
<div id="bd" class="yui3-g">
26
<div class="yui3-u-1-4">
27
<div id="docs-sidebar" class="sidebar apidocs">
29
<h2 class="off-left">APIs</h2>
30
<div id="api-tabview" class="tabview">
32
<li><a href="#api-classes">Classes</a></li>
33
<li><a href="#api-modules">Modules</a></li>
36
<div id="api-tabview-filter">
37
<input type="search" id="api-filter" placeholder="Type to filter APIs">
40
<div id="api-tabview-panel">
41
<ul id="api-classes" class="apis classes">
43
<li><a href="../classes/Anim.html">Anim</a></li>
45
<li><a href="../classes/App.html">App</a></li>
47
<li><a href="../classes/App.Base.html">App.Base</a></li>
49
<li><a href="../classes/App.Transitions.html">App.Transitions</a></li>
51
<li><a href="../classes/App.TransitionsNative.html">App.TransitionsNative</a></li>
53
<li><a href="../classes/AreaSeries.html">AreaSeries</a></li>
55
<li><a href="../classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
57
<li><a href="../classes/Array.html">Array</a></li>
59
<li><a href="../classes/ArrayList.html">ArrayList</a></li>
61
<li><a href="../classes/ArraySort.html">ArraySort</a></li>
63
<li><a href="../classes/AsyncQueue.html">AsyncQueue</a></li>
65
<li><a href="../classes/Attribute.html">Attribute</a></li>
67
<li><a href="../classes/AttributeCore.html">AttributeCore</a></li>
69
<li><a href="../classes/AttributeEvents.html">AttributeEvents</a></li>
71
<li><a href="../classes/AttributeExtras.html">AttributeExtras</a></li>
73
<li><a href="../classes/AttributeLite.html">AttributeLite</a></li>
75
<li><a href="../classes/AutoComplete.html">AutoComplete</a></li>
77
<li><a href="../classes/AutoCompleteBase.html">AutoCompleteBase</a></li>
79
<li><a href="../classes/AutoCompleteFilters.html">AutoCompleteFilters</a></li>
81
<li><a href="../classes/AutoCompleteHighlighters.html">AutoCompleteHighlighters</a></li>
83
<li><a href="../classes/AutoCompleteList.html">AutoCompleteList</a></li>
85
<li><a href="../classes/Axis.html">Axis</a></li>
87
<li><a href="../classes/AxisType.html">AxisType</a></li>
89
<li><a href="../classes/BarSeries.html">BarSeries</a></li>
91
<li><a href="../classes/Base.html">Base</a></li>
93
<li><a href="../classes/BaseCore.html">BaseCore</a></li>
95
<li><a href="../classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
97
<li><a href="../classes/Button.html">Button</a></li>
99
<li><a href="../classes/ButtonCore.html">ButtonCore</a></li>
101
<li><a href="../classes/ButtonGroup.html">ButtonGroup</a></li>
103
<li><a href="../classes/ButtonPlugin.html">ButtonPlugin</a></li>
105
<li><a href="../classes/Cache.html">Cache</a></li>
107
<li><a href="../classes/CacheOffline.html">CacheOffline</a></li>
109
<li><a href="../classes/Calendar.html">Calendar</a></li>
111
<li><a href="../classes/CalendarBase.html">CalendarBase</a></li>
113
<li><a href="../classes/CanvasCircle.html">CanvasCircle</a></li>
115
<li><a href="../classes/CanvasDrawing.html">CanvasDrawing</a></li>
117
<li><a href="../classes/CanvasEllipse.html">CanvasEllipse</a></li>
119
<li><a href="../classes/CanvasGraphic.html">CanvasGraphic</a></li>
121
<li><a href="../classes/CanvasPath.html">CanvasPath</a></li>
123
<li><a href="../classes/CanvasPieSlice.html">CanvasPieSlice</a></li>
125
<li><a href="../classes/CanvasRect.html">CanvasRect</a></li>
127
<li><a href="../classes/CanvasShape.html">CanvasShape</a></li>
129
<li><a href="../classes/CartesianChart.html">CartesianChart</a></li>
131
<li><a href="../classes/CartesianSeries.html">CartesianSeries</a></li>
133
<li><a href="../classes/CategoryAxis.html">CategoryAxis</a></li>
135
<li><a href="../classes/Chart.html">Chart</a></li>
137
<li><a href="../classes/ChartBase.html">ChartBase</a></li>
139
<li><a href="../classes/ChartLegend.html">ChartLegend</a></li>
141
<li><a href="../classes/Circle.html">Circle</a></li>
143
<li><a href="../classes/ClassNameManager.html">ClassNameManager</a></li>
145
<li><a href="../classes/ClickableRail.html">ClickableRail</a></li>
147
<li><a href="../classes/ColumnSeries.html">ColumnSeries</a></li>
149
<li><a href="../classes/ComboSeries.html">ComboSeries</a></li>
151
<li><a href="../classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
153
<li><a href="../classes/config.html">config</a></li>
155
<li><a href="../classes/Console.html">Console</a></li>
157
<li><a href="../classes/Controller.html">Controller</a></li>
159
<li><a href="../classes/Cookie.html">Cookie</a></li>
161
<li><a href="../classes/CurveUtil.html">CurveUtil</a></li>
163
<li><a href="../classes/CustomEvent.html">CustomEvent</a></li>
165
<li><a href="../classes/DataSchema.Array.html">DataSchema.Array</a></li>
167
<li><a href="../classes/DataSchema.Base.html">DataSchema.Base</a></li>
169
<li><a href="../classes/DataSchema.JSON.html">DataSchema.JSON</a></li>
171
<li><a href="../classes/DataSchema.Text.html">DataSchema.Text</a></li>
173
<li><a href="../classes/DataSchema.XML.html">DataSchema.XML</a></li>
175
<li><a href="../classes/DataSource.Function.html">DataSource.Function</a></li>
177
<li><a href="../classes/DataSource.Get.html">DataSource.Get</a></li>
179
<li><a href="../classes/DataSource.IO.html">DataSource.IO</a></li>
181
<li><a href="../classes/DataSource.Local.html">DataSource.Local</a></li>
183
<li><a href="../classes/DataSourceArraySchema.html">DataSourceArraySchema</a></li>
185
<li><a href="../classes/DataSourceCache.html">DataSourceCache</a></li>
187
<li><a href="../classes/DataSourceCacheExtension.html">DataSourceCacheExtension</a></li>
189
<li><a href="../classes/DataSourceJSONSchema.html">DataSourceJSONSchema</a></li>
191
<li><a href="../classes/DataSourceTextSchema.html">DataSourceTextSchema</a></li>
193
<li><a href="../classes/DataSourceXMLSchema.html">DataSourceXMLSchema</a></li>
195
<li><a href="../classes/DataTable.html">DataTable</a></li>
197
<li><a href="../classes/DataTable.Base.html">DataTable.Base</a></li>
199
<li><a href="../classes/DataTable.BodyView.html">DataTable.BodyView</a></li>
201
<li><a href="../classes/DataTable.ColumnWidths.html">DataTable.ColumnWidths</a></li>
203
<li><a href="../classes/DataTable.Core.html">DataTable.Core</a></li>
205
<li><a href="../classes/DataTable.HeaderView.html">DataTable.HeaderView</a></li>
207
<li><a href="../classes/DataTable.Message.html">DataTable.Message</a></li>
209
<li><a href="../classes/DataTable.Mutable.html">DataTable.Mutable</a></li>
211
<li><a href="../classes/DataTable.Scrollable.html">DataTable.Scrollable</a></li>
213
<li><a href="../classes/DataTable.Sortable.html">DataTable.Sortable</a></li>
215
<li><a href="../classes/DataType.Date.html">DataType.Date</a></li>
217
<li><a href="../classes/DataType.Date.Locale.html">DataType.Date.Locale</a></li>
219
<li><a href="../classes/DataType.Number.html">DataType.Number</a></li>
221
<li><a href="../classes/DataType.XML.html">DataType.XML</a></li>
223
<li><a href="../classes/DD.DDM.html">DD.DDM</a></li>
225
<li><a href="../classes/DD.Delegate.html">DD.Delegate</a></li>
227
<li><a href="../classes/DD.Drag.html">DD.Drag</a></li>
229
<li><a href="../classes/DD.Drop.html">DD.Drop</a></li>
231
<li><a href="../classes/DD.Scroll.html">DD.Scroll</a></li>
233
<li><a href="../classes/Dial.html">Dial</a></li>
235
<li><a href="../classes/Do.html">Do</a></li>
237
<li><a href="../classes/Do.AlterArgs.html">Do.AlterArgs</a></li>
239
<li><a href="../classes/Do.AlterReturn.html">Do.AlterReturn</a></li>
241
<li><a href="../classes/Do.Error.html">Do.Error</a></li>
243
<li><a href="../classes/Do.Halt.html">Do.Halt</a></li>
245
<li><a href="../classes/Do.Method.html">Do.Method</a></li>
247
<li><a href="../classes/Do.Prevent.html">Do.Prevent</a></li>
249
<li><a href="../classes/DOM.html">DOM</a></li>
251
<li><a href="../classes/DOMEventFacade.html">DOMEventFacade</a></li>
253
<li><a href="../classes/Drawing.html">Drawing</a></li>
255
<li><a href="../classes/Easing.html">Easing</a></li>
257
<li><a href="../classes/EditorBase.html">EditorBase</a></li>
259
<li><a href="../classes/EditorSelection.html">EditorSelection</a></li>
261
<li><a href="../classes/Ellipse.html">Ellipse</a></li>
263
<li><a href="../classes/EllipseGroup.html">EllipseGroup</a></li>
265
<li><a href="../classes/Escape.html">Escape</a></li>
267
<li><a href="../classes/Event.html">Event</a></li>
269
<li><a href="../classes/EventFacade.html">EventFacade</a></li>
271
<li><a href="../classes/EventHandle.html">EventHandle</a></li>
273
<li><a href="../classes/EventTarget.html">EventTarget</a></li>
275
<li><a href="../classes/ExecCommand.html">ExecCommand</a></li>
277
<li><a href="../classes/Features.html">Features</a></li>
279
<li><a href="../classes/File.html">File</a></li>
281
<li><a href="../classes/FileFlash.html">FileFlash</a></li>
283
<li><a href="../classes/FileHTML5.html">FileHTML5</a></li>
285
<li><a href="../classes/Fills.html">Fills</a></li>
287
<li><a href="../classes/Frame.html">Frame</a></li>
289
<li><a href="../classes/Get.html">Get</a></li>
291
<li><a href="../classes/Get.Transaction.html">Get.Transaction</a></li>
293
<li><a href="../classes/GetNodeJS.html">GetNodeJS</a></li>
295
<li><a href="../classes/Graph.html">Graph</a></li>
297
<li><a href="../classes/Graphic.html">Graphic</a></li>
299
<li><a href="../classes/GraphicBase.html">GraphicBase</a></li>
301
<li><a href="../classes/Gridlines.html">Gridlines</a></li>
303
<li><a href="../classes/GroupCircle.html">GroupCircle</a></li>
305
<li><a href="../classes/GroupDiamond.html">GroupDiamond</a></li>
307
<li><a href="../classes/GroupRect.html">GroupRect</a></li>
309
<li><a href="../classes/Handlebars.html">Handlebars</a></li>
311
<li><a href="../classes/Highlight.html">Highlight</a></li>
313
<li><a href="../classes/Histogram.html">Histogram</a></li>
315
<li><a href="../classes/HistoryBase.html">HistoryBase</a></li>
317
<li><a href="../classes/HistoryHash.html">HistoryHash</a></li>
319
<li><a href="../classes/HistoryHTML5.html">HistoryHTML5</a></li>
321
<li><a href="../classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
323
<li><a href="../classes/ImgLoadGroup.html">ImgLoadGroup</a></li>
325
<li><a href="../classes/ImgLoadImgObj.html">ImgLoadImgObj</a></li>
327
<li><a href="../classes/Intl.html">Intl</a></li>
329
<li><a href="../classes/IO.html">IO</a></li>
331
<li><a href="../classes/JSON.html">JSON</a></li>
333
<li><a href="../classes/JSONPRequest.html">JSONPRequest</a></li>
335
<li><a href="../classes/Lang.html">Lang</a></li>
337
<li><a href="../classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
339
<li><a href="../classes/Lines.html">Lines</a></li>
341
<li><a href="../classes/LineSeries.html">LineSeries</a></li>
343
<li><a href="../classes/Loader.html">Loader</a></li>
345
<li><a href="../classes/MarkerSeries.html">MarkerSeries</a></li>
347
<li><a href="../classes/Matrix.html">Matrix</a></li>
349
<li><a href="../classes/Model.html">Model</a></li>
351
<li><a href="../classes/ModelList.html">ModelList</a></li>
353
<li><a href="../classes/Node.html">Node</a></li>
355
<li><a href="../classes/NodeList.html">NodeList</a></li>
357
<li><a href="../classes/NumericAxis.html">NumericAxis</a></li>
359
<li><a href="../classes/Object.html">Object</a></li>
361
<li><a href="../classes/Overlay.html">Overlay</a></li>
363
<li><a href="../classes/Panel.html">Panel</a></li>
365
<li><a href="../classes/Parallel.html">Parallel</a></li>
367
<li><a href="../classes/Path.html">Path</a></li>
369
<li><a href="../classes/PieChart.html">PieChart</a></li>
371
<li><a href="../classes/PieSeries.html">PieSeries</a></li>
373
<li><a href="../classes/Pjax.html">Pjax</a></li>
375
<li><a href="../classes/PjaxBase.html">PjaxBase</a></li>
377
<li><a href="../classes/Plots.html">Plots</a></li>
379
<li><a href="../classes/Plugin.Align.html">Plugin.Align</a></li>
381
<li><a href="../classes/Plugin.AutoComplete.html">Plugin.AutoComplete</a></li>
383
<li><a href="../classes/Plugin.Base.html">Plugin.Base</a></li>
385
<li><a href="../classes/Plugin.Cache.html">Plugin.Cache</a></li>
387
<li><a href="../classes/Plugin.CalendarNavigator.html">Plugin.CalendarNavigator</a></li>
389
<li><a href="../classes/Plugin.ConsoleFilters.html">Plugin.ConsoleFilters</a></li>
391
<li><a href="../classes/Plugin.CreateLinkBase.html">Plugin.CreateLinkBase</a></li>
393
<li><a href="../classes/Plugin.DataTableDataSource.html">Plugin.DataTableDataSource</a></li>
395
<li><a href="../classes/Plugin.DDConstrained.html">Plugin.DDConstrained</a></li>
397
<li><a href="../classes/Plugin.DDNodeScroll.html">Plugin.DDNodeScroll</a></li>
399
<li><a href="../classes/Plugin.DDProxy.html">Plugin.DDProxy</a></li>
401
<li><a href="../classes/Plugin.DDWindowScroll.html">Plugin.DDWindowScroll</a></li>
403
<li><a href="../classes/Plugin.Drag.html">Plugin.Drag</a></li>
405
<li><a href="../classes/Plugin.Drop.html">Plugin.Drop</a></li>
407
<li><a href="../classes/Plugin.EditorBidi.html">Plugin.EditorBidi</a></li>
409
<li><a href="../classes/Plugin.EditorBR.html">Plugin.EditorBR</a></li>
411
<li><a href="../classes/Plugin.EditorLists.html">Plugin.EditorLists</a></li>
413
<li><a href="../classes/Plugin.EditorPara.html">Plugin.EditorPara</a></li>
415
<li><a href="../classes/Plugin.EditorParaBase.html">Plugin.EditorParaBase</a></li>
417
<li><a href="../classes/Plugin.EditorParaIE.html">Plugin.EditorParaIE</a></li>
419
<li><a href="../classes/Plugin.EditorTab.html">Plugin.EditorTab</a></li>
421
<li><a href="../classes/Plugin.ExecCommand.html">Plugin.ExecCommand</a></li>
423
<li><a href="../classes/Plugin.Flick.html">Plugin.Flick</a></li>
425
<li><a href="../classes/Plugin.Host.html">Plugin.Host</a></li>
427
<li><a href="../classes/plugin.NodeFocusManager.html">plugin.NodeFocusManager</a></li>
429
<li><a href="../classes/Plugin.NodeFX.html">Plugin.NodeFX</a></li>
431
<li><a href="../classes/plugin.NodeMenuNav.html">plugin.NodeMenuNav</a></li>
433
<li><a href="../classes/Plugin.Pjax.html">Plugin.Pjax</a></li>
435
<li><a href="../classes/Plugin.Resize.html">Plugin.Resize</a></li>
437
<li><a href="../classes/Plugin.ResizeConstrained.html">Plugin.ResizeConstrained</a></li>
439
<li><a href="../classes/Plugin.ResizeProxy.html">Plugin.ResizeProxy</a></li>
441
<li><a href="../classes/Plugin.ScrollViewList.html">Plugin.ScrollViewList</a></li>
443
<li><a href="../classes/Plugin.ScrollViewPaginator.html">Plugin.ScrollViewPaginator</a></li>
445
<li><a href="../classes/Plugin.ScrollViewScrollbars.html">Plugin.ScrollViewScrollbars</a></li>
447
<li><a href="../classes/Plugin.Shim.html">Plugin.Shim</a></li>
449
<li><a href="../classes/Plugin.SortScroll.html">Plugin.SortScroll</a></li>
451
<li><a href="../classes/Plugin.WidgetAnim.html">Plugin.WidgetAnim</a></li>
453
<li><a href="../classes/Pollable.html">Pollable</a></li>
455
<li><a href="../classes/Profiler.html">Profiler</a></li>
457
<li><a href="../classes/QueryString.html">QueryString</a></li>
459
<li><a href="../classes/Queue.html">Queue</a></li>
461
<li><a href="../classes/Record.html">Record</a></li>
463
<li><a href="../classes/Recordset.html">Recordset</a></li>
465
<li><a href="../classes/RecordsetFilter.html">RecordsetFilter</a></li>
467
<li><a href="../classes/RecordsetIndexer.html">RecordsetIndexer</a></li>
469
<li><a href="../classes/RecordsetSort.html">RecordsetSort</a></li>
471
<li><a href="../classes/Rect.html">Rect</a></li>
473
<li><a href="../classes/Renderer.html">Renderer</a></li>
475
<li><a href="../classes/Resize.html">Resize</a></li>
477
<li><a href="../classes/RightAxisLayout.html">RightAxisLayout</a></li>
479
<li><a href="../classes/Router.html">Router</a></li>
481
<li><a href="../classes/ScrollView.html">ScrollView</a></li>
483
<li><a href="../classes/Selector.html">Selector</a></li>
485
<li><a href="../classes/Shape.html">Shape</a></li>
487
<li><a href="../classes/ShapeGroup.html">ShapeGroup</a></li>
489
<li><a href="../classes/Slider.html">Slider</a></li>
491
<li><a href="../classes/SliderBase.html">SliderBase</a></li>
493
<li><a href="../classes/SliderValueRange.html">SliderValueRange</a></li>
495
<li><a href="../classes/Sortable.html">Sortable</a></li>
497
<li><a href="../classes/SplineSeries.html">SplineSeries</a></li>
499
<li><a href="../classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
501
<li><a href="../classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
503
<li><a href="../classes/StackedAxis.html">StackedAxis</a></li>
505
<li><a href="../classes/StackedBarSeries.html">StackedBarSeries</a></li>
507
<li><a href="../classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
509
<li><a href="../classes/StackedComboSeries.html">StackedComboSeries</a></li>
511
<li><a href="../classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
513
<li><a href="../classes/StackedLineSeries.html">StackedLineSeries</a></li>
515
<li><a href="../classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
517
<li><a href="../classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
519
<li><a href="../classes/StackingUtil.html">StackingUtil</a></li>
521
<li><a href="../classes/State.html">State</a></li>
523
<li><a href="../classes/StyleSheet.html">StyleSheet</a></li>
525
<li><a href="../classes/Subscriber.html">Subscriber</a></li>
527
<li><a href="../classes/SVGCircle.html">SVGCircle</a></li>
529
<li><a href="../classes/SVGDrawing.html">SVGDrawing</a></li>
531
<li><a href="../classes/SVGEllipse.html">SVGEllipse</a></li>
533
<li><a href="../classes/SVGGraphic.html">SVGGraphic</a></li>
535
<li><a href="../classes/SVGPath.html">SVGPath</a></li>
537
<li><a href="../classes/SVGPieSlice.html">SVGPieSlice</a></li>
539
<li><a href="../classes/SVGRect.html">SVGRect</a></li>
541
<li><a href="../classes/SVGShape.html">SVGShape</a></li>
543
<li><a href="../classes/SWF.html">SWF</a></li>
545
<li><a href="../classes/SWFDetect.html">SWFDetect</a></li>
547
<li><a href="../classes/SyntheticEvent.html">SyntheticEvent</a></li>
549
<li><a href="../classes/SyntheticEvent.Notifier.html">SyntheticEvent.Notifier</a></li>
551
<li><a href="../classes/SynthRegistry.html">SynthRegistry</a></li>
553
<li><a href="../classes/Tab.html">Tab</a></li>
555
<li><a href="../classes/TabView.html">TabView</a></li>
557
<li><a href="../classes/Test.ArrayAssert.html">Test.ArrayAssert</a></li>
559
<li><a href="../classes/Test.Assert.html">Test.Assert</a></li>
561
<li><a href="../classes/Test.AssertionError.html">Test.AssertionError</a></li>
563
<li><a href="../classes/Test.ComparisonFailure.html">Test.ComparisonFailure</a></li>
565
<li><a href="../classes/Test.Console.html">Test.Console</a></li>
567
<li><a href="../classes/Test.CoverageFormat.html">Test.CoverageFormat</a></li>
569
<li><a href="../classes/Test.DateAssert.html">Test.DateAssert</a></li>
571
<li><a href="../classes/Test.EventTarget.html">Test.EventTarget</a></li>
573
<li><a href="../classes/Test.Mock.html">Test.Mock</a></li>
575
<li><a href="../classes/Test.Mock.Value.html">Test.Mock.Value</a></li>
577
<li><a href="../classes/Test.ObjectAssert.html">Test.ObjectAssert</a></li>
579
<li><a href="../classes/Test.Reporter.html">Test.Reporter</a></li>
581
<li><a href="../classes/Test.Results.html">Test.Results</a></li>
583
<li><a href="../classes/Test.Runner.html">Test.Runner</a></li>
585
<li><a href="../classes/Test.ShouldError.html">Test.ShouldError</a></li>
587
<li><a href="../classes/Test.ShouldFail.html">Test.ShouldFail</a></li>
589
<li><a href="../classes/Test.TestCase.html">Test.TestCase</a></li>
591
<li><a href="../classes/Test.TestFormat.html">Test.TestFormat</a></li>
593
<li><a href="../classes/Test.TestNode.html">Test.TestNode</a></li>
595
<li><a href="../classes/Test.TestRunner.html">Test.TestRunner</a></li>
597
<li><a href="../classes/Test.TestSuite.html">Test.TestSuite</a></li>
599
<li><a href="../classes/Test.UnexpectedError.html">Test.UnexpectedError</a></li>
601
<li><a href="../classes/Test.UnexpectedValue.html">Test.UnexpectedValue</a></li>
603
<li><a href="../classes/Test.Wait.html">Test.Wait</a></li>
605
<li><a href="../classes/Text.AccentFold.html">Text.AccentFold</a></li>
607
<li><a href="../classes/Text.WordBreak.html">Text.WordBreak</a></li>
609
<li><a href="../classes/TimeAxis.html">TimeAxis</a></li>
611
<li><a href="../classes/ToggleButton.html">ToggleButton</a></li>
613
<li><a href="../classes/TopAxisLayout.html">TopAxisLayout</a></li>
615
<li><a href="../classes/Transition.html">Transition</a></li>
617
<li><a href="../classes/UA.html">UA</a></li>
619
<li><a href="../classes/Uploader.html">Uploader</a></li>
621
<li><a href="../classes/Uploader.Queue.html">Uploader.Queue</a></li>
623
<li><a href="../classes/UploaderFlash.html">UploaderFlash</a></li>
625
<li><a href="../classes/UploaderHTML5.html">UploaderHTML5</a></li>
627
<li><a href="../classes/ValueChange.html">ValueChange</a></li>
629
<li><a href="../classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
631
<li><a href="../classes/View.html">View</a></li>
633
<li><a href="../classes/View.NodeMap.html">View.NodeMap</a></li>
635
<li><a href="../classes/VMLCircle.html">VMLCircle</a></li>
637
<li><a href="../classes/VMLDrawing.html">VMLDrawing</a></li>
639
<li><a href="../classes/VMLEllipse.html">VMLEllipse</a></li>
641
<li><a href="../classes/VMLGraphic.html">VMLGraphic</a></li>
643
<li><a href="../classes/VMLPath.html">VMLPath</a></li>
645
<li><a href="../classes/VMLPieSlice.html">VMLPieSlice</a></li>
647
<li><a href="../classes/VMLRect.html">VMLRect</a></li>
649
<li><a href="../classes/VMLShape.html">VMLShape</a></li>
651
<li><a href="../classes/Widget.html">Widget</a></li>
653
<li><a href="../classes/WidgetAutohide.html">WidgetAutohide</a></li>
655
<li><a href="../classes/WidgetButtons.html">WidgetButtons</a></li>
657
<li><a href="../classes/WidgetChild.html">WidgetChild</a></li>
659
<li><a href="../classes/WidgetModality.html">WidgetModality</a></li>
661
<li><a href="../classes/WidgetParent.html">WidgetParent</a></li>
663
<li><a href="../classes/WidgetPosition.html">WidgetPosition</a></li>
665
<li><a href="../classes/WidgetPositionAlign.html">WidgetPositionAlign</a></li>
667
<li><a href="../classes/WidgetPositionConstrain.html">WidgetPositionConstrain</a></li>
669
<li><a href="../classes/WidgetStack.html">WidgetStack</a></li>
671
<li><a href="../classes/WidgetStdMod.html">WidgetStdMod</a></li>
673
<li><a href="../classes/YQL.html">YQL</a></li>
675
<li><a href="../classes/YQLRequest.html">YQLRequest</a></li>
677
<li><a href="../classes/YUI.html">YUI</a></li>
679
<li><a href="../classes/YUI~substitute.html">YUI~substitute</a></li>
683
<ul id="api-modules" class="apis modules">
685
<li><a href="../modules/align-plugin.html">align-plugin</a></li>
687
<li><a href="../modules/anim.html">anim</a></li>
689
<li><a href="../modules/anim-base.html">anim-base</a></li>
691
<li><a href="../modules/anim-color.html">anim-color</a></li>
693
<li><a href="../modules/anim-curve.html">anim-curve</a></li>
695
<li><a href="../modules/anim-easing.html">anim-easing</a></li>
697
<li><a href="../modules/anim-node-plugin.html">anim-node-plugin</a></li>
699
<li><a href="../modules/anim-scroll.html">anim-scroll</a></li>
701
<li><a href="../modules/anim-shape-transform.html">anim-shape-transform</a></li>
703
<li><a href="../modules/anim-xy.html">anim-xy</a></li>
705
<li><a href="../modules/app.html">app</a></li>
707
<li><a href="../modules/app-base.html">app-base</a></li>
709
<li><a href="../modules/app-transitions.html">app-transitions</a></li>
711
<li><a href="../modules/app-transitions-native.html">app-transitions-native</a></li>
713
<li><a href="../modules/array-extras.html">array-extras</a></li>
715
<li><a href="../modules/array-invoke.html">array-invoke</a></li>
717
<li><a href="../modules/arraylist.html">arraylist</a></li>
719
<li><a href="../modules/arraylist-add.html">arraylist-add</a></li>
721
<li><a href="../modules/arraylist-filter.html">arraylist-filter</a></li>
723
<li><a href="../modules/arraysort.html">arraysort</a></li>
725
<li><a href="../modules/async-queue.html">async-queue</a></li>
727
<li><a href="../modules/attribute.html">attribute</a></li>
729
<li><a href="../modules/attribute-base.html">attribute-base</a></li>
731
<li><a href="../modules/attribute-complex.html">attribute-complex</a></li>
733
<li><a href="../modules/attribute-core.html">attribute-core</a></li>
735
<li><a href="../modules/attribute-events.html">attribute-events</a></li>
737
<li><a href="../modules/attribute-extras.html">attribute-extras</a></li>
739
<li><a href="../modules/autocomplete.html">autocomplete</a></li>
741
<li><a href="../modules/autocomplete-base.html">autocomplete-base</a></li>
743
<li><a href="../modules/autocomplete-filters.html">autocomplete-filters</a></li>
745
<li><a href="../modules/autocomplete-filters-accentfold.html">autocomplete-filters-accentfold</a></li>
747
<li><a href="../modules/autocomplete-highlighters.html">autocomplete-highlighters</a></li>
749
<li><a href="../modules/autocomplete-highlighters-accentfold.html">autocomplete-highlighters-accentfold</a></li>
751
<li><a href="../modules/autocomplete-list.html">autocomplete-list</a></li>
753
<li><a href="../modules/autocomplete-list-keys.html">autocomplete-list-keys</a></li>
755
<li><a href="../modules/autocomplete-plugin.html">autocomplete-plugin</a></li>
757
<li><a href="../modules/autocomplete-sources.html">autocomplete-sources</a></li>
759
<li><a href="../modules/base.html">base</a></li>
761
<li><a href="../modules/base-base.html">base-base</a></li>
763
<li><a href="../modules/base-build.html">base-build</a></li>
765
<li><a href="../modules/base-core.html">base-core</a></li>
767
<li><a href="../modules/base-pluginhost.html">base-pluginhost</a></li>
769
<li><a href="../modules/button.html">button</a></li>
771
<li><a href="../modules/button-core.html">button-core</a></li>
773
<li><a href="../modules/button-group.html">button-group</a></li>
775
<li><a href="../modules/button-plugin.html">button-plugin</a></li>
777
<li><a href="../modules/cache.html">cache</a></li>
779
<li><a href="../modules/cache-base.html">cache-base</a></li>
781
<li><a href="../modules/cache-offline.html">cache-offline</a></li>
783
<li><a href="../modules/cache-plugin.html">cache-plugin</a></li>
785
<li><a href="../modules/calendar.html">calendar</a></li>
787
<li><a href="../modules/calendar-base.html">calendar-base</a></li>
789
<li><a href="../modules/calendarnavigator.html">calendarnavigator</a></li>
791
<li><a href="../modules/charts.html">charts</a></li>
793
<li><a href="../modules/charts-legend.html">charts-legend</a></li>
795
<li><a href="../modules/classnamemanager.html">classnamemanager</a></li>
797
<li><a href="../modules/clickable-rail.html">clickable-rail</a></li>
799
<li><a href="../modules/collection.html">collection</a></li>
801
<li><a href="../modules/console.html">console</a></li>
803
<li><a href="../modules/console-filters.html">console-filters</a></li>
805
<li><a href="../modules/cookie.html">cookie</a></li>
807
<li><a href="../modules/createlink-base.html">createlink-base</a></li>
809
<li><a href="../modules/dataschema.html">dataschema</a></li>
811
<li><a href="../modules/dataschema-array.html">dataschema-array</a></li>
813
<li><a href="../modules/dataschema-base.html">dataschema-base</a></li>
815
<li><a href="../modules/dataschema-json.html">dataschema-json</a></li>
817
<li><a href="../modules/dataschema-text.html">dataschema-text</a></li>
819
<li><a href="../modules/dataschema-xml.html">dataschema-xml</a></li>
821
<li><a href="../modules/datasource.html">datasource</a></li>
823
<li><a href="../modules/datasource-arrayschema.html">datasource-arrayschema</a></li>
825
<li><a href="../modules/datasource-cache.html">datasource-cache</a></li>
827
<li><a href="../modules/datasource-function.html">datasource-function</a></li>
829
<li><a href="../modules/datasource-get.html">datasource-get</a></li>
831
<li><a href="../modules/datasource-io.html">datasource-io</a></li>
833
<li><a href="../modules/datasource-jsonschema.html">datasource-jsonschema</a></li>
835
<li><a href="../modules/datasource-local.html">datasource-local</a></li>
837
<li><a href="../modules/datasource-polling.html">datasource-polling</a></li>
839
<li><a href="../modules/datasource-textschema.html">datasource-textschema</a></li>
841
<li><a href="../modules/datasource-xmlschema.html">datasource-xmlschema</a></li>
843
<li><a href="../modules/datatable.html">datatable</a></li>
845
<li><a href="../modules/datatable-base.html">datatable-base</a></li>
847
<li><a href="../modules/datatable-base-deprecated.html">datatable-base-deprecated</a></li>
849
<li><a href="../modules/datatable-body.html">datatable-body</a></li>
851
<li><a href="../modules/datatable-column-widths.html">datatable-column-widths</a></li>
853
<li><a href="../modules/datatable-core.html">datatable-core</a></li>
855
<li><a href="../modules/datatable-datasource.html">datatable-datasource</a></li>
857
<li><a href="../modules/datatable-datasource-deprecated.html">datatable-datasource-deprecated</a></li>
859
<li><a href="../modules/datatable-deprecated.html">datatable-deprecated</a></li>
861
<li><a href="../modules/datatable-head.html">datatable-head</a></li>
863
<li><a href="../modules/datatable-message.html">datatable-message</a></li>
865
<li><a href="../modules/datatable-mutable.html">datatable-mutable</a></li>
867
<li><a href="../modules/datatable-scroll.html">datatable-scroll</a></li>
869
<li><a href="../modules/datatable-scroll-deprecated.html">datatable-scroll-deprecated</a></li>
871
<li><a href="../modules/datatable-sort.html">datatable-sort</a></li>
873
<li><a href="../modules/datatable-sort-deprecated.html">datatable-sort-deprecated</a></li>
875
<li><a href="../modules/datatype.html">datatype</a></li>
877
<li><a href="../modules/datatype-date.html">datatype-date</a></li>
879
<li><a href="../modules/datatype-date-format.html">datatype-date-format</a></li>
881
<li><a href="../modules/datatype-date-math.html">datatype-date-math</a></li>
883
<li><a href="../modules/datatype-date-parse.html">datatype-date-parse</a></li>
885
<li><a href="../modules/datatype-number.html">datatype-number</a></li>
887
<li><a href="../modules/datatype-number-format.html">datatype-number-format</a></li>
889
<li><a href="../modules/datatype-number-parse.html">datatype-number-parse</a></li>
891
<li><a href="../modules/datatype-xml.html">datatype-xml</a></li>
893
<li><a href="../modules/datatype-xml-format.html">datatype-xml-format</a></li>
895
<li><a href="../modules/datatype-xml-parse.html">datatype-xml-parse</a></li>
897
<li><a href="../modules/dd.html">dd</a></li>
899
<li><a href="../modules/dd-constrain.html">dd-constrain</a></li>
901
<li><a href="../modules/dd-ddm.html">dd-ddm</a></li>
903
<li><a href="../modules/dd-ddm-base.html">dd-ddm-base</a></li>
905
<li><a href="../modules/dd-ddm-drop.html">dd-ddm-drop</a></li>
907
<li><a href="../modules/dd-delegate.html">dd-delegate</a></li>
909
<li><a href="../modules/dd-drag.html">dd-drag</a></li>
911
<li><a href="../modules/dd-drop.html">dd-drop</a></li>
913
<li><a href="../modules/dd-drop-plugin.html">dd-drop-plugin</a></li>
915
<li><a href="../modules/dd-plugin.html">dd-plugin</a></li>
917
<li><a href="../modules/dd-proxy.html">dd-proxy</a></li>
919
<li><a href="../modules/dd-scroll.html">dd-scroll</a></li>
921
<li><a href="../modules/dial.html">dial</a></li>
923
<li><a href="../modules/dom.html">dom</a></li>
925
<li><a href="../modules/dom-base.html">dom-base</a></li>
927
<li><a href="../modules/dom-screen.html">dom-screen</a></li>
929
<li><a href="../modules/dom-style.html">dom-style</a></li>
931
<li><a href="../modules/dump.html">dump</a></li>
933
<li><a href="../modules/editor.html">editor</a></li>
935
<li><a href="../modules/editor-base.html">editor-base</a></li>
937
<li><a href="../modules/editor-bidi.html">editor-bidi</a></li>
939
<li><a href="../modules/editor-br.html">editor-br</a></li>
941
<li><a href="../modules/editor-lists.html">editor-lists</a></li>
943
<li><a href="../modules/editor-para.html">editor-para</a></li>
945
<li><a href="../modules/editor-para-base.html">editor-para-base</a></li>
947
<li><a href="../modules/editor-para-ie.html">editor-para-ie</a></li>
949
<li><a href="../modules/editor-tab.html">editor-tab</a></li>
951
<li><a href="../modules/escape.html">escape</a></li>
953
<li><a href="../modules/event.html">event</a></li>
955
<li><a href="../modules/event-base.html">event-base</a></li>
957
<li><a href="../modules/event-contextmenu.html">event-contextmenu</a></li>
959
<li><a href="../modules/event-custom.html">event-custom</a></li>
961
<li><a href="../modules/event-custom-base.html">event-custom-base</a></li>
963
<li><a href="../modules/event-custom-complex.html">event-custom-complex</a></li>
965
<li><a href="../modules/event-delegate.html">event-delegate</a></li>
967
<li><a href="../modules/event-flick.html">event-flick</a></li>
969
<li><a href="../modules/event-focus.html">event-focus</a></li>
971
<li><a href="../modules/event-gestures.html">event-gestures</a></li>
973
<li><a href="../modules/event-hover.html">event-hover</a></li>
975
<li><a href="../modules/event-key.html">event-key</a></li>
977
<li><a href="../modules/event-mouseenter.html">event-mouseenter</a></li>
979
<li><a href="../modules/event-mousewheel.html">event-mousewheel</a></li>
981
<li><a href="../modules/event-move.html">event-move</a></li>
983
<li><a href="../modules/event-outside.html">event-outside</a></li>
985
<li><a href="../modules/event-resize.html">event-resize</a></li>
987
<li><a href="../modules/event-simulate.html">event-simulate</a></li>
989
<li><a href="../modules/event-synthetic.html">event-synthetic</a></li>
991
<li><a href="../modules/event-touch.html">event-touch</a></li>
993
<li><a href="../modules/event-valuechange.html">event-valuechange</a></li>
995
<li><a href="../modules/exec-command.html">exec-command</a></li>
997
<li><a href="../modules/features.html">features</a></li>
999
<li><a href="../modules/file.html">file</a></li>
1001
<li><a href="../modules/file-flash.html">file-flash</a></li>
1003
<li><a href="../modules/file-html5.html">file-html5</a></li>
1005
<li><a href="../modules/frame.html">frame</a></li>
1007
<li><a href="../modules/get.html">get</a></li>
1009
<li><a href="../modules/get-nodejs.html">get-nodejs</a></li>
1011
<li><a href="../modules/graphics.html">graphics</a></li>
1013
<li><a href="../modules/handlebars.html">handlebars</a></li>
1015
<li><a href="../modules/handlebars-base.html">handlebars-base</a></li>
1017
<li><a href="../modules/handlebars-compiler.html">handlebars-compiler</a></li>
1019
<li><a href="../modules/highlight.html">highlight</a></li>
1021
<li><a href="../modules/highlight-accentfold.html">highlight-accentfold</a></li>
1023
<li><a href="../modules/highlight-base.html">highlight-base</a></li>
1025
<li><a href="../modules/history.html">history</a></li>
1027
<li><a href="../modules/history-base.html">history-base</a></li>
1029
<li><a href="../modules/history-hash.html">history-hash</a></li>
1031
<li><a href="../modules/history-hash-ie.html">history-hash-ie</a></li>
1033
<li><a href="../modules/history-html5.html">history-html5</a></li>
1035
<li><a href="../modules/imageloader.html">imageloader</a></li>
1037
<li><a href="../modules/intl.html">intl</a></li>
1039
<li><a href="../modules/io.html">io</a></li>
1041
<li><a href="../modules/io-base.html">io-base</a></li>
1043
<li><a href="../modules/io-form.html">io-form</a></li>
1045
<li><a href="../modules/io-queue.html">io-queue</a></li>
1047
<li><a href="../modules/io-upload-iframe.html">io-upload-iframe</a></li>
1049
<li><a href="../modules/io-xdr.html">io-xdr</a></li>
1051
<li><a href="../modules/json.html">json</a></li>
1053
<li><a href="../modules/json-parse.html">json-parse</a></li>
1055
<li><a href="../modules/json-stringify.html">json-stringify</a></li>
1057
<li><a href="../modules/jsonp.html">jsonp</a></li>
1059
<li><a href="../modules/jsonp-url.html">jsonp-url</a></li>
1061
<li><a href="../modules/loader.html">loader</a></li>
1063
<li><a href="../modules/loader-base.html">loader-base</a></li>
1065
<li><a href="../modules/matrix.html">matrix</a></li>
1067
<li><a href="../modules/model.html">model</a></li>
1069
<li><a href="../modules/model-list.html">model-list</a></li>
1071
<li><a href="../modules/node.html">node</a></li>
1073
<li><a href="../modules/node-base.html">node-base</a></li>
1075
<li><a href="../modules/node-core.html">node-core</a></li>
1077
<li><a href="../modules/node-data.html">node-data</a></li>
1079
<li><a href="../modules/node-deprecated.html">node-deprecated</a></li>
1081
<li><a href="../modules/node-event-delegate.html">node-event-delegate</a></li>
1083
<li><a href="../modules/node-event-html5.html">node-event-html5</a></li>
1085
<li><a href="../modules/node-event-simulate.html">node-event-simulate</a></li>
1087
<li><a href="../modules/node-flick.html">node-flick</a></li>
1089
<li><a href="../modules/node-focusmanager.html">node-focusmanager</a></li>
1091
<li><a href="../modules/node-load.html">node-load</a></li>
1093
<li><a href="../modules/node-menunav.html">node-menunav</a></li>
1095
<li><a href="../modules/node-pluginhost.html">node-pluginhost</a></li>
1097
<li><a href="../modules/node-screen.html">node-screen</a></li>
1099
<li><a href="../modules/node-style.html">node-style</a></li>
1101
<li><a href="../modules/oop.html">oop</a></li>
1103
<li><a href="../modules/overlay.html">overlay</a></li>
1105
<li><a href="../modules/panel.html">panel</a></li>
1107
<li><a href="../modules/parallel.html">parallel</a></li>
1109
<li><a href="../modules/pjax.html">pjax</a></li>
1111
<li><a href="../modules/pjax-base.html">pjax-base</a></li>
1113
<li><a href="../modules/pjax-plugin.html">pjax-plugin</a></li>
1115
<li><a href="../modules/plugin.html">plugin</a></li>
1117
<li><a href="../modules/pluginhost.html">pluginhost</a></li>
1119
<li><a href="../modules/pluginhost-base.html">pluginhost-base</a></li>
1121
<li><a href="../modules/pluginhost-config.html">pluginhost-config</a></li>
1123
<li><a href="../modules/profiler.html">profiler</a></li>
1125
<li><a href="../modules/querystring.html">querystring</a></li>
1127
<li><a href="../modules/querystring-parse.html">querystring-parse</a></li>
1129
<li><a href="../modules/querystring-parse-simple.html">querystring-parse-simple</a></li>
1131
<li><a href="../modules/querystring-stringify.html">querystring-stringify</a></li>
1133
<li><a href="../modules/querystring-stringify-simple.html">querystring-stringify-simple</a></li>
1135
<li><a href="../modules/queue-promote.html">queue-promote</a></li>
1137
<li><a href="../modules/range-slider.html">range-slider</a></li>
1139
<li><a href="../modules/recordset.html">recordset</a></li>
1141
<li><a href="../modules/recordset-base.html">recordset-base</a></li>
1143
<li><a href="../modules/recordset-filter.html">recordset-filter</a></li>
1145
<li><a href="../modules/recordset-indexer.html">recordset-indexer</a></li>
1147
<li><a href="../modules/recordset-sort.html">recordset-sort</a></li>
1149
<li><a href="../modules/resize.html">resize</a></li>
1151
<li><a href="../modules/resize-contrain.html">resize-contrain</a></li>
1153
<li><a href="../modules/resize-plugin.html">resize-plugin</a></li>
1155
<li><a href="../modules/resize-proxy.html">resize-proxy</a></li>
1157
<li><a href="../modules/rollup.html">rollup</a></li>
1159
<li><a href="../modules/router.html">router</a></li>
1161
<li><a href="../modules/scrollview.html">scrollview</a></li>
1163
<li><a href="../modules/scrollview-base.html">scrollview-base</a></li>
1165
<li><a href="../modules/scrollview-base-ie.html">scrollview-base-ie</a></li>
1167
<li><a href="../modules/scrollview-list.html">scrollview-list</a></li>
1169
<li><a href="../modules/scrollview-paginator.html">scrollview-paginator</a></li>
1171
<li><a href="../modules/scrollview-scrollbars.html">scrollview-scrollbars</a></li>
1173
<li><a href="../modules/selection.html">selection</a></li>
1175
<li><a href="../modules/selector-css2.html">selector-css2</a></li>
1177
<li><a href="../modules/selector-css3.html">selector-css3</a></li>
1179
<li><a href="../modules/selector-native.html">selector-native</a></li>
1181
<li><a href="../modules/shim-plugin.html">shim-plugin</a></li>
1183
<li><a href="../modules/slider.html">slider</a></li>
1185
<li><a href="../modules/slider-base.html">slider-base</a></li>
1187
<li><a href="../modules/slider-value-range.html">slider-value-range</a></li>
1189
<li><a href="../modules/sortable.html">sortable</a></li>
1191
<li><a href="../modules/sortable-scroll.html">sortable-scroll</a></li>
1193
<li><a href="../modules/stylesheet.html">stylesheet</a></li>
1195
<li><a href="../modules/substitute.html">substitute</a></li>
1197
<li><a href="../modules/swf.html">swf</a></li>
1199
<li><a href="../modules/swfdetect.html">swfdetect</a></li>
1201
<li><a href="../modules/tabview.html">tabview</a></li>
1203
<li><a href="../modules/test.html">test</a></li>
1205
<li><a href="../modules/test-console.html">test-console</a></li>
1207
<li><a href="../modules/text.html">text</a></li>
1209
<li><a href="../modules/text-accentfold.html">text-accentfold</a></li>
1211
<li><a href="../modules/text-wordbreak.html">text-wordbreak</a></li>
1213
<li><a href="../modules/transition.html">transition</a></li>
1215
<li><a href="../modules/uploader.html">uploader</a></li>
1217
<li><a href="../modules/uploader-deprecated.html">uploader-deprecated</a></li>
1219
<li><a href="../modules/uploader-flash.html">uploader-flash</a></li>
1221
<li><a href="../modules/uploader-html5.html">uploader-html5</a></li>
1223
<li><a href="../modules/uploader-queue.html">uploader-queue</a></li>
1225
<li><a href="../modules/view.html">view</a></li>
1227
<li><a href="../modules/view-node-map.html">view-node-map</a></li>
1229
<li><a href="../modules/widget.html">widget</a></li>
1231
<li><a href="../modules/widget-anim.html">widget-anim</a></li>
1233
<li><a href="../modules/widget-autohide.html">widget-autohide</a></li>
1235
<li><a href="../modules/widget-base.html">widget-base</a></li>
1237
<li><a href="../modules/widget-base-ie.html">widget-base-ie</a></li>
1239
<li><a href="../modules/widget-buttons.html">widget-buttons</a></li>
1241
<li><a href="../modules/widget-child.html">widget-child</a></li>
1243
<li><a href="../modules/widget-htmlparser.html">widget-htmlparser</a></li>
1245
<li><a href="../modules/widget-locale.html">widget-locale</a></li>
1247
<li><a href="../modules/widget-modality.html">widget-modality</a></li>
1249
<li><a href="../modules/widget-parent.html">widget-parent</a></li>
1251
<li><a href="../modules/widget-position.html">widget-position</a></li>
1253
<li><a href="../modules/widget-position-align.html">widget-position-align</a></li>
1255
<li><a href="../modules/widget-position-constrain.html">widget-position-constrain</a></li>
1257
<li><a href="../modules/widget-skin.html">widget-skin</a></li>
1259
<li><a href="../modules/widget-stack.html">widget-stack</a></li>
1261
<li><a href="../modules/widget-stdmod.html">widget-stdmod</a></li>
1263
<li><a href="../modules/widget-uievents.html">widget-uievents</a></li>
1265
<li><a href="../modules/yql.html">yql</a></li>
1267
<li><a href="../modules/yui.html">yui</a></li>
1269
<li><a href="../modules/yui-base.html">yui-base</a></li>
1271
<li><a href="../modules/yui-later.html">yui-later</a></li>
1273
<li><a href="../modules/yui-log.html">yui-log</a></li>
1275
<li><a href="../modules/yui-throttle.html">yui-throttle</a></li>
1277
<li><a href="../modules/yui3.html">yui3</a></li>
1286
<div class="yui3-u-3-4">
1287
<div id="api-options">
1289
<label for="api-show-inherited">
1290
<input type="checkbox" id="api-show-inherited" checked>
1294
<label for="api-show-protected">
1295
<input type="checkbox" id="api-show-protected">
1299
<label for="api-show-private">
1300
<input type="checkbox" id="api-show-private">
1306
<div class="apidocs">
1307
<div id="docs-main">
1308
<div class="content">
1309
<h1 class="file-heading">File: app/js/router.js</h1>
1312
<pre class="code prettyprint linenums">
1314
Provides URL-based routing using HTML5 `pushState()` or the location hash.
1321
var HistoryHash = Y.HistoryHash,
1327
// We have to queue up pushState calls to avoid race conditions, since the
1328
// popstate event doesn't actually provide any info on what URL it's
1329
// associated with.
1333
Fired when the router is ready to begin dispatching to route handlers.
1335
You shouldn't need to wait for this event unless you plan to implement some
1336
kind of custom dispatching logic. It's used internally in order to avoid
1337
dispatching to an initial route if a browser history change occurs first.
1340
@param {Boolean} dispatched `true` if routes have already been dispatched
1341
(most likely due to a history change).
1344
EVT_READY = 'ready';
1347
Provides URL-based routing using HTML5 `pushState()` or the location hash.
1349
This makes it easy to wire up route handlers for different application states
1350
while providing full back/forward navigation support and bookmarkable, shareable
1354
@param {Object} [config] Config properties.
1355
@param {Boolean} [config.html5] Overrides the default capability detection
1356
and forces this router to use (`true`) or not use (`false`) HTML5
1358
@param {String} [config.root=''] Root path from which all routes should be
1360
@param {Array} [config.routes=[]] Array of route definition objects.
1366
Router.superclass.constructor.apply(this, arguments);
1369
Y.Router = Y.extend(Router, Y.Base, {
1370
// -- Protected Properties -------------------------------------------------
1373
Whether or not `_dispatch()` has been called since this router was
1376
@property _dispatched
1383
Whether or not we're currently in the process of dispatching to routes.
1385
@property _dispatching
1392
Cached copy of the `html5` attribute for internal use.
1400
Whether or not the `ready` event has fired yet.
1409
Regex used to match parameter placeholders in route paths.
1411
Subpattern captures:
1413
1. Parameter prefix character. Either a `:` for subpath parameters that
1414
should only match a single level of a path, or `*` for splat parameters
1415
that should match any number of path levels.
1417
2. Parameter name, if specified, otherwise it is a wildcard match.
1419
@property _regexPathParam
1423
_regexPathParam: /([:*])([\w\-]+)?/g,
1426
Regex that matches and captures the query portion of a URL, minus the
1427
preceding `?` character, and discarding the hash portion of the URL if any.
1429
@property _regexUrlQuery
1433
_regexUrlQuery: /\?([^#]*).*$/,
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
1440
@property _regexUrlOrigin
1444
_regexUrlOrigin: /^(?:[^\/#?:]+:\/\/|\/\/)[^\/]*/,
1446
// -- Lifecycle Methods ----------------------------------------------------
1447
initializer: function (config) {
1450
self._html5 = self.get('html5');
1452
self._url = self._getURL();
1454
// Necessary because setters don't run on init.
1455
self._setRoutes(config && config.routes ? config.routes :
1456
self.get('routes'));
1458
// Set up a history instance or hashchange listener.
1460
self._history = new Y.HistoryHTML5({force: true});
1461
Y.after('history:change', self._afterHistoryChange, self);
1463
Y.on('hashchange', self._afterHistoryChange, win, self);
1466
// Fire a `ready` event once we're ready to route. We wait first for all
1467
// subclass initializers to finish, then for window.onload, and then an
1468
// additional 20ms to allow the browser to fire a useless initial
1469
// `popstate` event if it wants to (and Chrome always wants to).
1470
self.publish(EVT_READY, {
1471
defaultFn : self._defReadyFn,
1476
self.once('initializedChange', function () {
1477
Y.once('load', function () {
1478
setTimeout(function () {
1479
self.fire(EVT_READY, {dispatched: !!self._dispatched});
1485
destructor: function () {
1487
Y.detach('history:change', this._afterHistoryChange, this);
1489
Y.detach('hashchange', this._afterHistoryChange, win);
1493
// -- Public Methods -------------------------------------------------------
1496
Dispatches to the first route handler that matches the current URL, if any.
1498
If `dispatch()` is called before the `ready` event has fired, it will
1499
automatically wait for the `ready` event before dispatching. Otherwise it
1500
will dispatch immediately.
1505
dispatch: function () {
1506
this.once(EVT_READY, function () {
1509
if (this._html5 && this.upgrade()) {
1512
this._dispatch(this._getPath(), this._getURL());
1520
Gets the current route path, relative to the `root` (if any).
1523
@return {String} Current route path.
1525
getPath: function () {
1526
return this._getPath();
1530
Returns `true` if this router has at least one route that matches the
1531
specified URL, `false` otherwise.
1533
This method enforces the same-origin security constraint on the specified
1534
`url`; any URL which is not from the same origin as the current URL will
1535
always return `false`.
1538
@param {String} url URL to match.
1539
@return {Boolean} `true` if there's at least one matching route, `false`
1542
hasRoute: function (url) {
1543
if (!this._hasSameOrigin(url)) {
1547
url = this.removeQuery(this.removeRoot(url));
1549
return !!this.match(url).length;
1553
Returns an array of route objects that match the specified URL path.
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't be necessary.
1559
Each returned route object has the following properties:
1561
* `callback`: A function or a string representing the name of a function
1562
this router that should be executed when the route is triggered.
1563
* `keys`: An array of strings representing the named parameters defined in
1564
the route's path specification, if any.
1565
* `path`: The route's path specification, which may be either a string or
1567
* `regex`: A regular expression version of the route's path specification.
1568
This regex is used to determine whether the route matches a given path.
1571
router.route('/foo', function () {});
1572
router.match('/foo');
1573
// => [{callback: ..., keys: [], path: '/foo', regex: ...}]
1576
@param {String} path URL path to match.
1577
@return {Object[]} Array of route objects that match the specified path.
1579
match: function (path) {
1580
return YArray.filter(this._routes, function (route) {
1581
return path.search(route.regex) > -1;
1586
Removes the `root` URL from the front of _url_ (if it's there) and returns
1587
the result. The returned path will always have a leading `/`.
1590
@param {String} url URL.
1591
@return {String} Rootless path.
1593
removeRoot: function (url) {
1594
var root = this.get('root');
1596
// Strip out the non-path part of the URL, if any (e.g.
1597
// "http://foo.com"), so that we're left with just the path.
1598
url = url.replace(this._regexUrlOrigin, '');
1600
if (root && url.indexOf(root) === 0) {
1601
url = url.substring(root.length);
1604
return url.charAt(0) === '/' ? url : '/' + url;
1608
Removes a query string from the end of the _url_ (if one exists) and returns
1612
@param {String} url URL.
1613
@return {String} Queryless path.
1615
removeQuery: function (url) {
1616
return url.replace(/\?.*$/, '');
1620
Replaces the current browser history entry with a new one, and dispatches to
1621
the first matching route handler, if any.
1623
Behind the scenes, this method uses HTML5 `pushState()` in browsers that
1624
support it (or the location hash in older browsers and IE) to change the
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.
1631
// Starting URL: http://example.com/
1633
router.replace('/path/');
1634
// New URL: http://example.com/path/
1636
router.replace('/path?foo=bar');
1637
// New URL: http://example.com/path?foo=bar
1639
router.replace('/');
1640
// New URL: http://example.com/
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's `root`
1645
attribute. If no URL is specified, the page's current URL will be used.
1649
replace: function (url) {
1650
return this._queue(url, true);
1654
Adds a route handler for the specified URL _path_.
1656
The _path_ parameter may be either a string or a regular expression. If it's
1657
a string, it may contain named parameters: `:param` will match any single
1658
part of a URL path (not including `/` characters), and `*param` will match
1659
any number of parts of a URL path (including `/` characters). These named
1660
parameters will be made available as keys on the `req.params` object that's
1661
passed to route handlers.
1663
If the _path_ parameter is a regex, all pattern matches will be made
1664
available as numbered keys on `req.params`, starting with `0` for the full
1665
match, then `1` for the first subpattern match, and so on.
1667
Here's a set of sample routes along with URL paths that they match:
1669
* Route: `/photos/:tag/:page`
1670
* URL: `/photos/kittens/1`, params: `{tag: 'kittens', page: '1'}`
1671
* URL: `/photos/puppies/2`, params: `{tag: 'puppies', page: '2'}`
1673
* Route: `/file/*path`
1674
* URL: `/file/foo/bar/baz.txt`, params: `{path: 'foo/bar/baz.txt'}`
1675
* URL: `/file/foo`, params: `{path: 'foo'}`
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
1682
router.route('/photos/:tag/:page', function (req, res, next) {
1683
Y.log('Current tag: ' + req.params.tag);
1684
Y.log('Current page number: ' + req.params.page);
1688
@param {String|RegExp} path Path to match. May be a string or a regular
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/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
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/forward buttons are used, this property
1708
will have a value of "popstate".
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'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 `req` object that was passed to
1718
this route (so you can use the request object to pass data along to
1722
route: function (path, callback) {
1729
regex : this._getRegex(path, keys)
1736
Saves a new browser history entry and dispatches to the first matching route
1739
Behind the scenes, this method uses HTML5 `pushState()` 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.
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.
1747
// Starting URL: http://example.com/
1749
router.save('/path/');
1750
// New URL: http://example.com/path/
1752
router.save('/path?foo=bar');
1753
// New URL: http://example.com/path?foo=bar
1755
router.save('/');
1756
// New URL: http://example.com/
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's `root`
1761
attribute. If no URL is specified, the page's current URL will be used.
1765
save: function (url) {
1766
return this._queue(url);
1770
Upgrades a hash-based URL to an HTML5 URL if necessary. In non-HTML5
1771
browsers, this method is a noop.
1774
@return {Boolean} `true` if the URL was upgraded, `false` otherwise.
1776
upgrade: function () {
1781
// Get the full hash in all its glory!
1782
var hash = HistoryHash.getHash();
1784
if (hash && hash.charAt(0) === '/') {
1785
// This is an HTML5 browser and we have a hash-based path in the
1786
// URL, so we need to upgrade the URL to a non-hash URL. This
1787
// will trigger a `history:change` event, which will in turn
1788
// trigger a dispatch.
1789
this.once(EVT_READY, function () {
1799
// -- Protected Methods ----------------------------------------------------
1802
Wrapper around `decodeURIComponent` that also converts `+` chars into
1806
@param {String} string String to decode.
1807
@return {String} Decoded string.
1810
_decode: function (string) {
1811
return decodeURIComponent(string.replace(/\+/g, ' '));
1815
Shifts the topmost `_save()` call off the queue and executes it. Does
1816
nothing if the queue is empty.
1823
_dequeue: function () {
1827
// If window.onload hasn't yet fired, wait until it has before
1828
// dequeueing. This will ensure that we don't call pushState() before an
1829
// initial popstate event has fired.
1830
if (!YUI.Env.windowLoaded) {
1831
Y.once('load', function () {
1838
fn = saveQueue.shift();
1839
return fn ? fn() : this;
1843
Dispatches to the first route handler that matches the specified _path_.
1845
If called before the `ready` event has fired, the dispatch will be aborted.
1846
This ensures normalized behavior between Chrome (which fires a `popstate`
1847
event on every pageview) and other browsers (which do not).
1850
@param {String} path URL path.
1851
@param {String} url Full URL.
1852
@param {String} src What initiated the dispatch.
1856
_dispatch: function (path, url, src) {
1858
routes = self.match(path),
1861
self._dispatching = self._dispatched = true;
1863
if (!routes || !routes.length) {
1864
self._dispatching = false;
1868
req = self._getRequest(path, url, src);
1869
res = self._getResponse(req);
1871
req.next = function (err) {
1872
var callback, matches, route;
1876
} else if ((route = routes.shift())) {
1877
matches = route.regex.exec(path);
1878
callback = typeof route.callback === 'string' ?
1879
self[route.callback] : route.callback;
1881
// Use named keys for parameter names if the route path contains
1882
// 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));
1886
req.params = matches.concat();
1889
callback.call(self, req, res, req.next);
1895
self._dispatching = false;
1896
return self._dequeue();
1900
Gets the current path from the location hash, or an empty string if the
1903
@method _getHashPath
1904
@return {String} Current hash path, or an empty string if the hash is empty.
1907
_getHashPath: function () {
1908
return HistoryHash.getHash().replace(this._regexUrlQuery, '');
1912
Gets the location origin (i.e., protocol, host, and port) as a URL.
1915
http://example.com
1918
@return {String} Location origin (i.e., protocol, host, and port).
1921
_getOrigin: function () {
1922
var location = Y.getLocation();
1923
return location.origin || (location.protocol + '//' + location.host);
1927
Gets the current route path, relative to the `root` (if any).
1930
@return {String} Current route path.
1933
_getPath: function () {
1934
var path = (!this._html5 && this._getHashPath()) ||
1935
Y.getLocation().pathname;
1937
return this.removeQuery(this.removeRoot(path));
1941
Gets the current route query string.
1944
@return {String} Current route query string.
1947
_getQuery: function () {
1948
var location = Y.getLocation(),
1952
return location.search.substring(1);
1955
hash = HistoryHash.getHash();
1956
matches = hash.match(this._regexUrlQuery);
1958
return hash && matches ? matches[1] : location.search.substring(1);
1962
Creates a regular expression from the given route specification. If _path_
1963
is already a regex, it will be returned unmodified.
1966
@param {String|RegExp} path Route path specification.
1967
@param {Array} keys Array reference to which route parameter names will be
1969
@return {RegExp} Route regex.
1972
_getRegex: function (path, keys) {
1973
if (path instanceof RegExp) {
1977
// Special case for catchall paths.
1978
if (path === '*') {
1979
return (/.*/);
1982
path = path.replace(this._regexPathParam, function (match, operator, key) {
1983
// Only `*` operators are supported for key-less matches to allowing
1984
// in-path wildcards like: '/foo/*'.
1986
return operator === '*' ? '.*' : match;
1990
return operator === '*' ? '(.*?)' : '([^/#?]*)';
1993
return new RegExp('^' + path + '$');
1997
Gets a request object that can be passed to a route handler.
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.
2006
_getRequest: function (path, url, src) {
2009
query: this._parseQuery(this._getQuery()),
2016
Gets a response object that can be passed to a route handler.
2018
@method _getResponse
2019
@param {Object} req Request object.
2020
@return {Object} Response Object.
2023
_getResponse: function (req) {
2024
// For backwards compatibility, the response object is a function that
2025
// calls `next()` on the request object and returns the result.
2026
var res = function () {
2027
return req.next.apply(this, arguments);
2035
Getter for the `routes` attribute.
2038
@return {Object[]} Array of route objects.
2041
_getRoutes: function () {
2042
return this._routes.concat();
2046
Gets the current full URL.
2049
@return {String} URL.
2052
_getURL: function () {
2053
return Y.getLocation().toString();
2057
Returns `true` when the specified `url` is from the same origin as the
2058
current URL; i.e., the protocol, host, and port of the URLs are the same.
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.
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.
2068
_hasSameOrigin: function (url) {
2069
var origin = ((url && url.match(this._regexUrlOrigin)) || [])[0];
2071
// Prepend current scheme to scheme-relative URLs.
2072
if (origin && origin.indexOf('//') === 0) {
2073
origin = Y.getLocation().protocol + origin;
2076
return !origin || origin === this._getOrigin();
2080
Joins the `root` URL to the specified _url_, normalizing leading/trailing
2081
`/` characters.
2084
router.set('root', '/foo');
2085
router._joinURL('bar'); // => '/foo/bar'
2086
router._joinURL('/bar'); // => '/foo/bar'
2088
router.set('root', '/foo/');
2089
router._joinURL('bar'); // => '/foo/bar'
2090
router._joinURL('/bar'); // => '/foo/bar'
2093
@param {String} url URL to append to the `root` URL.
2094
@return {String} Joined URL.
2097
_joinURL: function (url) {
2098
var root = this.get('root');
2100
url = this.removeRoot(url);
2102
if (url.charAt(0) === '/') {
2103
url = url.substring(1);
2106
return root && root.charAt(root.length - 1) === '/' ?
2108
root + '/' + url;
2112
Parses a URL query string into a key/value hash. If `Y.QueryString.parse` is
2113
available, this method will be an alias to that.
2116
@param {String} query Query string to parse.
2117
@return {Object} Hash of key/value pairs for query parameters.
2120
_parseQuery: QS && QS.parse ? QS.parse : function (query) {
2121
var decode = this._decode,
2122
params = query.split('&'),
2124
len = params.length,
2128
for (; i < len; ++i) {
2129
param = params[i].split('=');
2132
result[decode(param[0])] = decode(param[1] || '');
2140
Queues up a `_save()` call to run after all previously-queued calls have
2143
This is necessary because if we make multiple `_save()` calls before the
2144
first call gets dispatched, then both calls will dispatch to the last call's
2147
All arguments passed to `_queue()` will be passed on to `_save()` when the
2148
queued function is executed.
2155
_queue: function () {
2156
var args = arguments,
2159
saveQueue.push(function () {
2161
if (Y.UA.ios && Y.UA.ios < 5) {
2162
// iOS <5 has buggy HTML5 history support, and needs to be
2163
// synchronous.
2164
self._save.apply(self, args);
2166
// Wrapped in a timeout to ensure that _save() calls are
2167
// always processed asynchronously. This ensures consistency
2168
// between HTML5- and hash-based history.
2169
setTimeout(function () {
2170
self._save.apply(self, args);
2174
self._dispatching = true; // otherwise we'll dequeue too quickly
2175
self._save.apply(self, args);
2181
return !this._dispatching ? this._dequeue() : this;
2185
Saves a history entry using either `pushState()` or the location hash.
2187
This method enforces the same-origin security constraint; attempting to save
2188
a `url` that is not from the same origin as the current URL will result in
2192
@param {String} [url] URL for the history entry.
2193
@param {Boolean} [replace=false] If `true`, the current history entry will
2194
be replaced instead of a new one being added.
2198
_save: function (url, replace) {
2199
var urlIsString = typeof url === 'string';
2201
// Perform same-origin check on the specified URL.
2202
if (urlIsString && !this._hasSameOrigin(url)) {
2203
Y.error('Security error: The new URL must be of the same origin as the current URL.');
2207
// Force _ready to true to ensure that the history change is handled
2208
// even if _save is called before the `ready` event fires.
2212
this._history[replace ? 'replace' : 'add'](null, {
2213
url: urlIsString ? this._joinURL(url) : url
2216
// Remove the root from the URL before it's set as the hash.
2217
urlIsString && (url = this.removeRoot(url));
2219
// The `hashchange` event only fires when the new hash is actually
2220
// different. This makes sure we'll always dequeue and dispatch,
2221
// mimicking the HTML5 behavior.
2222
if (url === HistoryHash.getHash()) {
2223
this._dispatch(this._getPath(), this._getURL());
2225
HistoryHash[replace ? 'replaceHash' : 'setHash'](url);
2233
Setter for the `routes` attribute.
2236
@param {Object[]} routes Array of route objects.
2237
@return {Object[]} Array of route objects.
2240
_setRoutes: function (routes) {
2243
YArray.each(routes, function (route) {
2244
this.route(route.path, route.callback);
2247
return this._routes.concat();
2250
// -- Protected Event Handlers ---------------------------------------------
2253
Handles `history:change` and `hashchange` events.
2255
@method _afterHistoryChange
2256
@param {EventFacade} e
2259
_afterHistoryChange: function (e) {
2262
prevURL = self._url,
2263
currentURL = self._getURL();
2265
self._url = currentURL;
2267
// Handles the awkwardness that is the `popstate` event. HTML5 browsers
2268
// fire `popstate` right before they fire `hashchange`, and Chrome fires
2269
// `popstate` on page load. If this router is not ready or the previous
2270
// and current URLs only differ by their hash, then we want to ignore
2271
// this `popstate` event.
2272
if (src === 'popstate' &&
2273
(!self._ready || prevURL.replace(/#.*$/, '') === currentURL.replace(/#.*$/, ''))) {
2278
self._dispatch(self._getPath(), currentURL, src);
2281
// -- Default Event Handlers -----------------------------------------------
2284
Default handler for the `ready` event.
2287
@param {EventFacade} e
2290
_defReadyFn: function (e) {
2294
// -- Static Properties ----------------------------------------------------
2295
NAME: 'router',
2299
Whether or not this browser is capable of using HTML5 history.
2301
Setting this to `false` will force the use of hash-based history even on
2302
HTML5 browsers, but please don't do this unless you understand the
2310
// Android versions lower than 3.0 are buggy and don't update
2311
// window.location after a pushState() call, so we fall back to
2312
// hash-based history for them.
2314
// See http://code.google.com/p/android/issues/detail?id=17471
2315
valueFn: function () { return Y.Router.html5; },
2316
writeOnce: 'initOnly'
2320
Absolute root path from which all routes should be evaluated.
2322
For example, if your router is running on a page at
2323
`http://example.com/myapp/` and you add a route with the path `/`, your
2324
route will never execute, because the path will always be preceded by
2325
`/myapp`. Setting `root` to `/myapp` would cause all routes to be
2326
evaluated relative to that root URL, so the `/` route would then execute
2327
when the user browses to `http://example.com/myapp/`.
2331
@default `''`
2338
Array of route objects.
2340
Each item in the array must be an object with the following properties:
2342
* `path`: String or regex representing the path to match. See the docs
2343
for the `route()` method for more details.
2345
* `callback`: 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 `route()` method for more details.
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 `route()` method.
2355
@default `[]`
2360
getter: '_getRoutes',
2361
setter: '_setRoutes'
2365
// Used as the default value for the `html5` attribute, and for testing.
2366
html5: Y.HistoryBase.html5 && (!Y.UA.android || Y.UA.android >= 3)
2370
The `Controller` class was deprecated in YUI 3.5.0 and is now an alias for the
2371
`Router` class. Use that class instead. This alias will be removed in a future
2377
@deprecated Use `Router` instead.
2380
Y.Controller = Y.Router;
2391
<script src="../assets/vendor/prettify/prettify-min.js"></script>
2392
<script>prettyPrint();</script>
2393
<script src="../assets/js/yui-prettify.js"></script>
2394
<script src="../assets/../api.js"></script>
2395
<script src="../assets/js/api-filter.js"></script>
2396
<script src="../assets/js/api-list.js"></script>
2397
<script src="../assets/js/api-search.js"></script>
2398
<script src="../assets/js/apidocs.js"></script>