~bcsaller/juju-gui/update-reductions

« back to all changes in this revision

Viewing changes to lib/yui/api/files/app_js_model.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;model.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;model.js</h1>
1310
 
 
1311
 
<div class="file">
1312
 
    <pre class="code prettyprint linenums">
1313
 
&#x2F;**
1314
 
Attribute-based data model with APIs for getting, setting, validating, and
1315
 
syncing attribute values, as well as events for being notified of model changes.
1316
 
 
1317
 
@module app
1318
 
@submodule model
1319
 
@since 3.4.0
1320
 
**&#x2F;
1321
 
 
1322
 
&#x2F;**
1323
 
Attribute-based data model with APIs for getting, setting, validating, and
1324
 
syncing attribute values, as well as events for being notified of model changes.
1325
 
 
1326
 
In most cases, you&#x27;ll want to create your own subclass of &#x60;Y.Model&#x60; and
1327
 
customize it to meet your needs. In particular, the &#x60;sync()&#x60; and &#x60;validate()&#x60;
1328
 
methods are meant to be overridden by custom implementations. You may also want
1329
 
to override the &#x60;parse()&#x60; method to parse non-generic server responses.
1330
 
 
1331
 
@class Model
1332
 
@constructor
1333
 
@extends Base
1334
 
@since 3.4.0
1335
 
**&#x2F;
1336
 
 
1337
 
var GlobalEnv = YUI.namespace(&#x27;Env.Model&#x27;),
1338
 
    Lang      = Y.Lang,
1339
 
    YArray    = Y.Array,
1340
 
    YObject   = Y.Object,
1341
 
 
1342
 
    &#x2F;**
1343
 
    Fired when one or more attributes on this model are changed.
1344
 
 
1345
 
    @event change
1346
 
    @param {Object} changed Hash of change information for each attribute that
1347
 
        changed. Each item in the hash has the following properties:
1348
 
      @param {Any} changed.newVal New value of the attribute.
1349
 
      @param {Any} changed.prevVal Previous value of the attribute.
1350
 
      @param {String|null} changed.src Source of the change event, if any.
1351
 
    **&#x2F;
1352
 
    EVT_CHANGE = &#x27;change&#x27;,
1353
 
 
1354
 
    &#x2F;**
1355
 
    Fired when an error occurs, such as when the model doesn&#x27;t validate or when
1356
 
    a sync layer response can&#x27;t be parsed.
1357
 
 
1358
 
    @event error
1359
 
    @param {Any} error Error message, object, or exception generated by the
1360
 
      error. Calling &#x60;toString()&#x60; on this should result in a meaningful error
1361
 
      message.
1362
 
    @param {String} src Source of the error. May be one of the following (or any
1363
 
      custom error source defined by a Model subclass):
1364
 
 
1365
 
      * &#x60;load&#x60;: An error loading the model from a sync layer. The sync layer&#x27;s
1366
 
        response (if any) will be provided as the &#x60;response&#x60; property on the
1367
 
        event facade.
1368
 
 
1369
 
      * &#x60;parse&#x60;: An error parsing a JSON response. The response in question will
1370
 
        be provided as the &#x60;response&#x60; property on the event facade.
1371
 
 
1372
 
      * &#x60;save&#x60;: An error saving the model to a sync layer. The sync layer&#x27;s
1373
 
        response (if any) will be provided as the &#x60;response&#x60; property on the
1374
 
        event facade.
1375
 
 
1376
 
      * &#x60;validate&#x60;: The model failed to validate. The attributes being validated
1377
 
        will be provided as the &#x60;attributes&#x60; property on the event facade.
1378
 
    **&#x2F;
1379
 
    EVT_ERROR = &#x27;error&#x27;,
1380
 
 
1381
 
    &#x2F;**
1382
 
    Fired after model attributes are loaded from a sync layer.
1383
 
 
1384
 
    @event load
1385
 
    @param {Object} parsed The parsed version of the sync layer&#x27;s response to
1386
 
        the load request.
1387
 
    @param {any} response The sync layer&#x27;s raw, unparsed response to the load
1388
 
        request.
1389
 
    @since 3.5.0
1390
 
    **&#x2F;
1391
 
    EVT_LOAD = &#x27;load&#x27;,
1392
 
 
1393
 
    &#x2F;**
1394
 
    Fired after model attributes are saved to a sync layer.
1395
 
 
1396
 
    @event save
1397
 
    @param {Object} [parsed] The parsed version of the sync layer&#x27;s response to
1398
 
        the save request, if there was a response.
1399
 
    @param {any} [response] The sync layer&#x27;s raw, unparsed response to the save
1400
 
        request, if there was one.
1401
 
    @since 3.5.0
1402
 
    **&#x2F;
1403
 
    EVT_SAVE = &#x27;save&#x27;;
1404
 
 
1405
 
function Model() {
1406
 
    Model.superclass.constructor.apply(this, arguments);
1407
 
}
1408
 
 
1409
 
Y.Model = Y.extend(Model, Y.Base, {
1410
 
    &#x2F;&#x2F; -- Public Properties ----------------------------------------------------
1411
 
 
1412
 
    &#x2F;**
1413
 
    Hash of attributes that have changed since the last time this model was
1414
 
    saved.
1415
 
 
1416
 
    @property changed
1417
 
    @type Object
1418
 
    @default {}
1419
 
    **&#x2F;
1420
 
 
1421
 
    &#x2F;**
1422
 
    Name of the attribute to use as the unique id (or primary key) for this
1423
 
    model.
1424
 
 
1425
 
    The default is &#x60;id&#x60;, but if your persistence layer uses a different name for
1426
 
    the primary key (such as &#x60;_id&#x60; or &#x60;uid&#x60;), you can specify that here.
1427
 
 
1428
 
    The built-in &#x60;id&#x60; attribute will always be an alias for whatever attribute
1429
 
    name you specify here, so getting and setting &#x60;id&#x60; will always behave the
1430
 
    same as getting and setting your custom id attribute.
1431
 
 
1432
 
    @property idAttribute
1433
 
    @type String
1434
 
    @default &#x60;&#x27;id&#x27;&#x60;
1435
 
    **&#x2F;
1436
 
    idAttribute: &#x27;id&#x27;,
1437
 
 
1438
 
    &#x2F;**
1439
 
    Hash of attributes that were changed in the last &#x60;change&#x60; event. Each item
1440
 
    in this hash is an object with the following properties:
1441
 
 
1442
 
      * &#x60;newVal&#x60;: The new value of the attribute after it changed.
1443
 
      * &#x60;prevVal&#x60;: The old value of the attribute before it changed.
1444
 
      * &#x60;src&#x60;: The source of the change, or &#x60;null&#x60; if no source was specified.
1445
 
 
1446
 
    @property lastChange
1447
 
    @type Object
1448
 
    @default {}
1449
 
    **&#x2F;
1450
 
 
1451
 
    &#x2F;**
1452
 
    Array of &#x60;ModelList&#x60; instances that contain this model.
1453
 
 
1454
 
    When a model is in one or more lists, the model&#x27;s events will bubble up to
1455
 
    those lists. You can subscribe to a model event on a list to be notified
1456
 
    when any model in the list fires that event.
1457
 
 
1458
 
    This property is updated automatically when this model is added to or
1459
 
    removed from a &#x60;ModelList&#x60; instance. You shouldn&#x27;t alter it manually. When
1460
 
    working with models in a list, you should always add and remove models using
1461
 
    the list&#x27;s &#x60;add()&#x60; and &#x60;remove()&#x60; methods.
1462
 
 
1463
 
    @example Subscribing to model events on a list:
1464
 
 
1465
 
        &#x2F;&#x2F; Assuming &#x60;list&#x60; is an existing Y.ModelList instance.
1466
 
        list.on(&#x27;*:change&#x27;, function (e) {
1467
 
            &#x2F;&#x2F; This function will be called whenever any model in the list
1468
 
            &#x2F;&#x2F; fires a &#x60;change&#x60; event.
1469
 
            &#x2F;&#x2F;
1470
 
            &#x2F;&#x2F; &#x60;e.target&#x60; will refer to the model instance that fired the
1471
 
            &#x2F;&#x2F; event.
1472
 
        });
1473
 
 
1474
 
    @property lists
1475
 
    @type ModelList[]
1476
 
    @default &#x60;[]&#x60;
1477
 
    **&#x2F;
1478
 
 
1479
 
    &#x2F;&#x2F; -- Protected Properties -------------------------------------------------
1480
 
 
1481
 
    &#x2F;**
1482
 
    This tells &#x60;Y.Base&#x60; that it should create ad-hoc attributes for config
1483
 
    properties passed to Model&#x27;s constructor. This makes it possible to
1484
 
    instantiate a model and set a bunch of attributes without having to subclass
1485
 
    &#x60;Y.Model&#x60; and declare all those attributes first.
1486
 
 
1487
 
    @property _allowAdHocAttrs
1488
 
    @type Boolean
1489
 
    @default true
1490
 
    @protected
1491
 
    @since 3.5.0
1492
 
    **&#x2F;
1493
 
    _allowAdHocAttrs: true,
1494
 
 
1495
 
    &#x2F;**
1496
 
    Total hack to allow us to identify Model instances without using
1497
 
    &#x60;instanceof&#x60;, which won&#x27;t work when the instance was created in another
1498
 
    window or YUI sandbox.
1499
 
 
1500
 
    @property _isYUIModel
1501
 
    @type Boolean
1502
 
    @default true
1503
 
    @protected
1504
 
    @since 3.5.0
1505
 
    **&#x2F;
1506
 
    _isYUIModel: true,
1507
 
 
1508
 
    &#x2F;&#x2F; -- Lifecycle Methods ----------------------------------------------------
1509
 
    initializer: function (config) {
1510
 
        this.changed    = {};
1511
 
        this.lastChange = {};
1512
 
        this.lists      = [];
1513
 
    },
1514
 
 
1515
 
    &#x2F;&#x2F; -- Public Methods -------------------------------------------------------
1516
 
 
1517
 
    &#x2F;**
1518
 
    Destroys this model instance and removes it from its containing lists, if
1519
 
    any.
1520
 
 
1521
 
    The _callback_, if one is provided, will be called after the model is
1522
 
    destroyed.
1523
 
 
1524
 
    If &#x60;options.remove&#x60; is &#x60;true&#x60;, then this method delegates to the &#x60;sync()&#x60;
1525
 
    method to delete the model from the persistence layer, which is an
1526
 
    asynchronous action. In this case, the _callback_ (if provided) will be
1527
 
    called after the sync layer indicates success or failure of the delete
1528
 
    operation.
1529
 
 
1530
 
    @method destroy
1531
 
    @param {Object} [options] Sync options. It&#x27;s up to the custom sync
1532
 
        implementation to determine what options it supports or requires, if
1533
 
        any.
1534
 
      @param {Boolean} [options.remove=false] If &#x60;true&#x60;, the model will be
1535
 
        deleted via the sync layer in addition to the instance being destroyed.
1536
 
    @param {callback} [callback] Called after the model has been destroyed (and
1537
 
        deleted via the sync layer if &#x60;options.remove&#x60; is &#x60;true&#x60;).
1538
 
      @param {Error|null} callback.err If an error occurred, this parameter will
1539
 
        contain the error. Otherwise _err_ will be &#x60;null&#x60;.
1540
 
    @chainable
1541
 
    **&#x2F;
1542
 
    destroy: function (options, callback) {
1543
 
        var self = this;
1544
 
 
1545
 
        &#x2F;&#x2F; Allow callback as only arg.
1546
 
        if (typeof options === &#x27;function&#x27;) {
1547
 
            callback = options;
1548
 
            options  = null;
1549
 
        }
1550
 
 
1551
 
        self.onceAfter(&#x27;destroy&#x27;, function () {
1552
 
            function finish(err) {
1553
 
                if (!err) {
1554
 
                    YArray.each(self.lists.concat(), function (list) {
1555
 
                        list.remove(self, options);
1556
 
                    });
1557
 
                }
1558
 
 
1559
 
                callback &amp;&amp; callback.apply(null, arguments);
1560
 
            }
1561
 
 
1562
 
            if (options &amp;&amp; (options.remove || options[&#x27;delete&#x27;])) {
1563
 
                self.sync(&#x27;delete&#x27;, options, finish);
1564
 
            } else {
1565
 
                finish();
1566
 
            }
1567
 
        });
1568
 
 
1569
 
        return Model.superclass.destroy.call(self);
1570
 
    },
1571
 
 
1572
 
    &#x2F;**
1573
 
    Returns a clientId string that&#x27;s unique among all models on the current page
1574
 
    (even models in other YUI instances). Uniqueness across pageviews is
1575
 
    unlikely.
1576
 
 
1577
 
    @method generateClientId
1578
 
    @return {String} Unique clientId.
1579
 
    **&#x2F;
1580
 
    generateClientId: function () {
1581
 
        GlobalEnv.lastId || (GlobalEnv.lastId = 0);
1582
 
        return this.constructor.NAME + &#x27;_&#x27; + (GlobalEnv.lastId += 1);
1583
 
    },
1584
 
 
1585
 
    &#x2F;**
1586
 
    Returns the value of the specified attribute.
1587
 
 
1588
 
    If the attribute&#x27;s value is an object, _name_ may use dot notation to
1589
 
    specify the path to a specific property within the object, and the value of
1590
 
    that property will be returned.
1591
 
 
1592
 
    @example
1593
 
        &#x2F;&#x2F; Set the &#x27;foo&#x27; attribute to an object.
1594
 
        myModel.set(&#x27;foo&#x27;, {
1595
 
            bar: {
1596
 
                baz: &#x27;quux&#x27;
1597
 
            }
1598
 
        });
1599
 
 
1600
 
        &#x2F;&#x2F; Get the value of &#x27;foo&#x27;.
1601
 
        myModel.get(&#x27;foo&#x27;);
1602
 
        &#x2F;&#x2F; =&gt; {bar: {baz: &#x27;quux&#x27;}}
1603
 
 
1604
 
        &#x2F;&#x2F; Get the value of &#x27;foo.bar.baz&#x27;.
1605
 
        myModel.get(&#x27;foo.bar.baz&#x27;);
1606
 
        &#x2F;&#x2F; =&gt; &#x27;quux&#x27;
1607
 
 
1608
 
    @method get
1609
 
    @param {String} name Attribute name or object property path.
1610
 
    @return {Any} Attribute value, or &#x60;undefined&#x60; if the attribute doesn&#x27;t
1611
 
      exist.
1612
 
    **&#x2F;
1613
 
 
1614
 
    &#x2F;&#x2F; get() is defined by Y.Attribute.
1615
 
 
1616
 
    &#x2F;**
1617
 
    Returns an HTML-escaped version of the value of the specified string
1618
 
    attribute. The value is escaped using &#x60;Y.Escape.html()&#x60;.
1619
 
 
1620
 
    @method getAsHTML
1621
 
    @param {String} name Attribute name or object property path.
1622
 
    @return {String} HTML-escaped attribute value.
1623
 
    **&#x2F;
1624
 
    getAsHTML: function (name) {
1625
 
        var value = this.get(name);
1626
 
        return Y.Escape.html(Lang.isValue(value) ? String(value) : &#x27;&#x27;);
1627
 
    },
1628
 
 
1629
 
    &#x2F;**
1630
 
    Returns a URL-encoded version of the value of the specified string
1631
 
    attribute. The value is encoded using the native &#x60;encodeURIComponent()&#x60;
1632
 
    function.
1633
 
 
1634
 
    @method getAsURL
1635
 
    @param {String} name Attribute name or object property path.
1636
 
    @return {String} URL-encoded attribute value.
1637
 
    **&#x2F;
1638
 
    getAsURL: function (name) {
1639
 
        var value = this.get(name);
1640
 
        return encodeURIComponent(Lang.isValue(value) ? String(value) : &#x27;&#x27;);
1641
 
    },
1642
 
 
1643
 
    &#x2F;**
1644
 
    Returns &#x60;true&#x60; if any attribute of this model has been changed since the
1645
 
    model was last saved.
1646
 
 
1647
 
    New models (models for which &#x60;isNew()&#x60; returns &#x60;true&#x60;) are implicitly
1648
 
    considered to be &quot;modified&quot; until the first time they&#x27;re saved.
1649
 
 
1650
 
    @method isModified
1651
 
    @return {Boolean} &#x60;true&#x60; if this model has changed since it was last saved,
1652
 
      &#x60;false&#x60; otherwise.
1653
 
    **&#x2F;
1654
 
    isModified: function () {
1655
 
        return this.isNew() || !YObject.isEmpty(this.changed);
1656
 
    },
1657
 
 
1658
 
    &#x2F;**
1659
 
    Returns &#x60;true&#x60; if this model is &quot;new&quot;, meaning it hasn&#x27;t been saved since it
1660
 
    was created.
1661
 
 
1662
 
    Newness is determined by checking whether the model&#x27;s &#x60;id&#x60; attribute has
1663
 
    been set. An empty id is assumed to indicate a new model, whereas a
1664
 
    non-empty id indicates a model that was either loaded or has been saved
1665
 
    since it was created.
1666
 
 
1667
 
    @method isNew
1668
 
    @return {Boolean} &#x60;true&#x60; if this model is new, &#x60;false&#x60; otherwise.
1669
 
    **&#x2F;
1670
 
    isNew: function () {
1671
 
        return !Lang.isValue(this.get(&#x27;id&#x27;));
1672
 
    },
1673
 
 
1674
 
    &#x2F;**
1675
 
    Loads this model from the server.
1676
 
 
1677
 
    This method delegates to the &#x60;sync()&#x60; method to perform the actual load
1678
 
    operation, which is an asynchronous action. Specify a _callback_ function to
1679
 
    be notified of success or failure.
1680
 
 
1681
 
    A successful load operation will fire a &#x60;load&#x60; event, while an unsuccessful
1682
 
    load operation will fire an &#x60;error&#x60; event with the &#x60;src&#x60; value &quot;load&quot;.
1683
 
 
1684
 
    If the load operation succeeds and one or more of the loaded attributes
1685
 
    differ from this model&#x27;s current attributes, a &#x60;change&#x60; event will be fired.
1686
 
 
1687
 
    @method load
1688
 
    @param {Object} [options] Options to be passed to &#x60;sync()&#x60; and to &#x60;set()&#x60;
1689
 
      when setting the loaded attributes. It&#x27;s up to the custom sync
1690
 
      implementation to determine what options it supports or requires, if any.
1691
 
    @param {callback} [callback] Called when the sync operation finishes.
1692
 
      @param {Error|null} callback.err If an error occurred, this parameter will
1693
 
        contain the error. If the sync operation succeeded, _err_ will be
1694
 
        &#x60;null&#x60;.
1695
 
      @param {Any} callback.response The server&#x27;s response. This value will
1696
 
        be passed to the &#x60;parse()&#x60; method, which is expected to parse it and
1697
 
        return an attribute hash.
1698
 
    @chainable
1699
 
    **&#x2F;
1700
 
    load: function (options, callback) {
1701
 
        var self = this;
1702
 
 
1703
 
        &#x2F;&#x2F; Allow callback as only arg.
1704
 
        if (typeof options === &#x27;function&#x27;) {
1705
 
            callback = options;
1706
 
            options  = {};
1707
 
        }
1708
 
 
1709
 
        options || (options = {});
1710
 
 
1711
 
        self.sync(&#x27;read&#x27;, options, function (err, response) {
1712
 
            var facade = {
1713
 
                    options : options,
1714
 
                    response: response
1715
 
                },
1716
 
 
1717
 
                parsed;
1718
 
 
1719
 
            if (err) {
1720
 
                facade.error = err;
1721
 
                facade.src   = &#x27;load&#x27;;
1722
 
 
1723
 
                self.fire(EVT_ERROR, facade);
1724
 
            } else {
1725
 
                &#x2F;&#x2F; Lazy publish.
1726
 
                if (!self._loadEvent) {
1727
 
                    self._loadEvent = self.publish(EVT_LOAD, {
1728
 
                        preventable: false
1729
 
                    });
1730
 
                }
1731
 
 
1732
 
                parsed = facade.parsed = self.parse(response);
1733
 
 
1734
 
                self.setAttrs(parsed, options);
1735
 
                self.changed = {};
1736
 
 
1737
 
                self.fire(EVT_LOAD, facade);
1738
 
            }
1739
 
 
1740
 
            callback &amp;&amp; callback.apply(null, arguments);
1741
 
        });
1742
 
 
1743
 
        return self;
1744
 
    },
1745
 
 
1746
 
    &#x2F;**
1747
 
    Called to parse the _response_ when the model is loaded from the server.
1748
 
    This method receives a server _response_ and is expected to return an
1749
 
    attribute hash.
1750
 
 
1751
 
    The default implementation assumes that _response_ is either an attribute
1752
 
    hash or a JSON string that can be parsed into an attribute hash. If
1753
 
    _response_ is a JSON string and either &#x60;Y.JSON&#x60; or the native &#x60;JSON&#x60; object
1754
 
    are available, it will be parsed automatically. If a parse error occurs, an
1755
 
    &#x60;error&#x60; event will be fired and the model will not be updated.
1756
 
 
1757
 
    You may override this method to implement custom parsing logic if necessary.
1758
 
 
1759
 
    @method parse
1760
 
    @param {Any} response Server response.
1761
 
    @return {Object} Attribute hash.
1762
 
    **&#x2F;
1763
 
    parse: function (response) {
1764
 
        if (typeof response === &#x27;string&#x27;) {
1765
 
            try {
1766
 
                return Y.JSON.parse(response);
1767
 
            } catch (ex) {
1768
 
                this.fire(EVT_ERROR, {
1769
 
                    error   : ex,
1770
 
                    response: response,
1771
 
                    src     : &#x27;parse&#x27;
1772
 
                });
1773
 
 
1774
 
                return null;
1775
 
            }
1776
 
        }
1777
 
 
1778
 
        return response;
1779
 
    },
1780
 
 
1781
 
    &#x2F;**
1782
 
    Saves this model to the server.
1783
 
 
1784
 
    This method delegates to the &#x60;sync()&#x60; method to perform the actual save
1785
 
    operation, which is an asynchronous action. Specify a _callback_ function to
1786
 
    be notified of success or failure.
1787
 
 
1788
 
    A successful save operation will fire a &#x60;save&#x60; event, while an unsuccessful
1789
 
    save operation will fire an &#x60;error&#x60; event with the &#x60;src&#x60; value &quot;save&quot;.
1790
 
 
1791
 
    If the save operation succeeds and one or more of the attributes returned in
1792
 
    the server&#x27;s response differ from this model&#x27;s current attributes, a
1793
 
    &#x60;change&#x60; event will be fired.
1794
 
 
1795
 
    @method save
1796
 
    @param {Object} [options] Options to be passed to &#x60;sync()&#x60; and to &#x60;set()&#x60;
1797
 
      when setting synced attributes. It&#x27;s up to the custom sync implementation
1798
 
      to determine what options it supports or requires, if any.
1799
 
    @param {Function} [callback] Called when the sync operation finishes.
1800
 
      @param {Error|null} callback.err If an error occurred or validation
1801
 
        failed, this parameter will contain the error. If the sync operation
1802
 
        succeeded, _err_ will be &#x60;null&#x60;.
1803
 
      @param {Any} callback.response The server&#x27;s response. This value will
1804
 
        be passed to the &#x60;parse()&#x60; method, which is expected to parse it and
1805
 
        return an attribute hash.
1806
 
    @chainable
1807
 
    **&#x2F;
1808
 
    save: function (options, callback) {
1809
 
        var self = this;
1810
 
 
1811
 
        &#x2F;&#x2F; Allow callback as only arg.
1812
 
        if (typeof options === &#x27;function&#x27;) {
1813
 
            callback = options;
1814
 
            options  = {};
1815
 
        }
1816
 
 
1817
 
        options || (options = {});
1818
 
 
1819
 
        self._validate(self.toJSON(), function (err) {
1820
 
            if (err) {
1821
 
                callback &amp;&amp; callback.call(null, err);
1822
 
                return;
1823
 
            }
1824
 
 
1825
 
            self.sync(self.isNew() ? &#x27;create&#x27; : &#x27;update&#x27;, options, function (err, response) {
1826
 
                var facade = {
1827
 
                        options : options,
1828
 
                        response: response
1829
 
                    },
1830
 
 
1831
 
                    parsed;
1832
 
 
1833
 
                if (err) {
1834
 
                    facade.error = err;
1835
 
                    facade.src   = &#x27;save&#x27;;
1836
 
 
1837
 
                    self.fire(EVT_ERROR, facade);
1838
 
                } else {
1839
 
                    &#x2F;&#x2F; Lazy publish.
1840
 
                    if (!self._saveEvent) {
1841
 
                        self._saveEvent = self.publish(EVT_SAVE, {
1842
 
                            preventable: false
1843
 
                        });
1844
 
                    }
1845
 
 
1846
 
                    if (response) {
1847
 
                        parsed = facade.parsed = self.parse(response);
1848
 
                        self.setAttrs(parsed, options);
1849
 
                    }
1850
 
 
1851
 
                    self.changed = {};
1852
 
                    self.fire(EVT_SAVE, facade);
1853
 
                }
1854
 
 
1855
 
                callback &amp;&amp; callback.apply(null, arguments);
1856
 
            });
1857
 
        });
1858
 
 
1859
 
        return self;
1860
 
    },
1861
 
 
1862
 
    &#x2F;**
1863
 
    Sets the value of a single attribute. If model validation fails, the
1864
 
    attribute will not be set and an &#x60;error&#x60; event will be fired.
1865
 
 
1866
 
    Use &#x60;setAttrs()&#x60; to set multiple attributes at once.
1867
 
 
1868
 
    @example
1869
 
        model.set(&#x27;foo&#x27;, &#x27;bar&#x27;);
1870
 
 
1871
 
    @method set
1872
 
    @param {String} name Attribute name or object property path.
1873
 
    @param {any} value Value to set.
1874
 
    @param {Object} [options] Data to be mixed into the event facade of the
1875
 
        &#x60;change&#x60; event(s) for these attributes.
1876
 
      @param {Boolean} [options.silent=false] If &#x60;true&#x60;, no &#x60;change&#x60; event will
1877
 
          be fired.
1878
 
    @chainable
1879
 
    **&#x2F;
1880
 
    set: function (name, value, options) {
1881
 
        var attributes = {};
1882
 
        attributes[name] = value;
1883
 
 
1884
 
        return this.setAttrs(attributes, options);
1885
 
    },
1886
 
 
1887
 
    &#x2F;**
1888
 
    Sets the values of multiple attributes at once. If model validation fails,
1889
 
    the attributes will not be set and an &#x60;error&#x60; event will be fired.
1890
 
 
1891
 
    @example
1892
 
        model.setAttrs({
1893
 
            foo: &#x27;bar&#x27;,
1894
 
            baz: &#x27;quux&#x27;
1895
 
        });
1896
 
 
1897
 
    @method setAttrs
1898
 
    @param {Object} attributes Hash of attribute names and values to set.
1899
 
    @param {Object} [options] Data to be mixed into the event facade of the
1900
 
        &#x60;change&#x60; event(s) for these attributes.
1901
 
      @param {Boolean} [options.silent=false] If &#x60;true&#x60;, no &#x60;change&#x60; event will
1902
 
          be fired.
1903
 
    @chainable
1904
 
    **&#x2F;
1905
 
    setAttrs: function (attributes, options) {
1906
 
        var idAttribute = this.idAttribute,
1907
 
            changed, e, key, lastChange, transaction;
1908
 
 
1909
 
        options || (options = {});
1910
 
        transaction = options._transaction = {};
1911
 
 
1912
 
        &#x2F;&#x2F; When a custom id attribute is in use, always keep the default &#x60;id&#x60;
1913
 
        &#x2F;&#x2F; attribute in sync.
1914
 
        if (idAttribute !== &#x27;id&#x27;) {
1915
 
            &#x2F;&#x2F; So we don&#x27;t modify someone else&#x27;s object.
1916
 
            attributes = Y.merge(attributes);
1917
 
 
1918
 
            if (YObject.owns(attributes, idAttribute)) {
1919
 
                attributes.id = attributes[idAttribute];
1920
 
            } else if (YObject.owns(attributes, &#x27;id&#x27;)) {
1921
 
                attributes[idAttribute] = attributes.id;
1922
 
            }
1923
 
        }
1924
 
 
1925
 
        for (key in attributes) {
1926
 
            if (YObject.owns(attributes, key)) {
1927
 
                this._setAttr(key, attributes[key], options);
1928
 
            }
1929
 
        }
1930
 
 
1931
 
        if (!YObject.isEmpty(transaction)) {
1932
 
            changed    = this.changed;
1933
 
            lastChange = this.lastChange = {};
1934
 
 
1935
 
            for (key in transaction) {
1936
 
                if (YObject.owns(transaction, key)) {
1937
 
                    e = transaction[key];
1938
 
 
1939
 
                    changed[key] = e.newVal;
1940
 
 
1941
 
                    lastChange[key] = {
1942
 
                        newVal : e.newVal,
1943
 
                        prevVal: e.prevVal,
1944
 
                        src    : e.src || null
1945
 
                    };
1946
 
                }
1947
 
            }
1948
 
 
1949
 
            if (!options.silent) {
1950
 
                &#x2F;&#x2F; Lazy publish for the change event.
1951
 
                if (!this._changeEvent) {
1952
 
                    this._changeEvent = this.publish(EVT_CHANGE, {
1953
 
                        preventable: false
1954
 
                    });
1955
 
                }
1956
 
 
1957
 
                this.fire(EVT_CHANGE, Y.merge(options, {changed: lastChange}));
1958
 
            }
1959
 
        }
1960
 
 
1961
 
        return this;
1962
 
    },
1963
 
 
1964
 
    &#x2F;**
1965
 
    Override this method to provide a custom persistence implementation for this
1966
 
    model. The default just calls the callback without actually doing anything.
1967
 
 
1968
 
    This method is called internally by &#x60;load()&#x60;, &#x60;save()&#x60;, and &#x60;destroy()&#x60;.
1969
 
 
1970
 
    @method sync
1971
 
    @param {String} action Sync action to perform. May be one of the following:
1972
 
 
1973
 
      * &#x60;create&#x60;: Store a newly-created model for the first time.
1974
 
      * &#x60;delete&#x60;: Delete an existing model.
1975
 
      * &#x60;read&#x60;  : Load an existing model.
1976
 
      * &#x60;update&#x60;: Update an existing model.
1977
 
 
1978
 
    @param {Object} [options] Sync options. It&#x27;s up to the custom sync
1979
 
      implementation to determine what options it supports or requires, if any.
1980
 
    @param {Function} [callback] Called when the sync operation finishes.
1981
 
      @param {Error|null} callback.err If an error occurred, this parameter will
1982
 
        contain the error. If the sync operation succeeded, _err_ will be
1983
 
        falsy.
1984
 
      @param {Any} [callback.response] The server&#x27;s response.
1985
 
    **&#x2F;
1986
 
    sync: function (&#x2F;* action, options, callback *&#x2F;) {
1987
 
        var callback = YArray(arguments, 0, true).pop();
1988
 
 
1989
 
        if (typeof callback === &#x27;function&#x27;) {
1990
 
            callback();
1991
 
        }
1992
 
    },
1993
 
 
1994
 
    &#x2F;**
1995
 
    Returns a copy of this model&#x27;s attributes that can be passed to
1996
 
    &#x60;Y.JSON.stringify()&#x60; or used for other nefarious purposes.
1997
 
 
1998
 
    The &#x60;clientId&#x60; attribute is not included in the returned object.
1999
 
 
2000
 
    If you&#x27;ve specified a custom attribute name in the &#x60;idAttribute&#x60; property,
2001
 
    the default &#x60;id&#x60; attribute will not be included in the returned object.
2002
 
 
2003
 
    Note: The ECMAScript 5 specification states that objects may implement a
2004
 
    &#x60;toJSON&#x60; method to provide an alternate object representation to serialize
2005
 
    when passed to &#x60;JSON.stringify(obj)&#x60;.  This allows class instances to be
2006
 
    serialized as if they were plain objects.  This is why Model&#x27;s &#x60;toJSON&#x60;
2007
 
    returns an object, not a JSON string.
2008
 
 
2009
 
    See &lt;http:&#x2F;&#x2F;es5.github.com&#x2F;#x15.12.3&gt; for details.
2010
 
 
2011
 
    @method toJSON
2012
 
    @return {Object} Copy of this model&#x27;s attributes.
2013
 
    **&#x2F;
2014
 
    toJSON: function () {
2015
 
        var attrs = this.getAttrs();
2016
 
 
2017
 
        delete attrs.clientId;
2018
 
        delete attrs.destroyed;
2019
 
        delete attrs.initialized;
2020
 
 
2021
 
        if (this.idAttribute !== &#x27;id&#x27;) {
2022
 
            delete attrs.id;
2023
 
        }
2024
 
 
2025
 
        return attrs;
2026
 
    },
2027
 
 
2028
 
    &#x2F;**
2029
 
    Reverts the last change to the model.
2030
 
 
2031
 
    If an _attrNames_ array is provided, then only the named attributes will be
2032
 
    reverted (and only if they were modified in the previous change). If no
2033
 
    _attrNames_ array is provided, then all changed attributes will be reverted
2034
 
    to their previous values.
2035
 
 
2036
 
    Note that only one level of undo is available: from the current state to the
2037
 
    previous state. If &#x60;undo()&#x60; is called when no previous state is available,
2038
 
    it will simply do nothing.
2039
 
 
2040
 
    @method undo
2041
 
    @param {Array} [attrNames] Array of specific attribute names to revert. If
2042
 
      not specified, all attributes modified in the last change will be
2043
 
      reverted.
2044
 
    @param {Object} [options] Data to be mixed into the event facade of the
2045
 
        change event(s) for these attributes.
2046
 
      @param {Boolean} [options.silent=false] If &#x60;true&#x60;, no &#x60;change&#x60; event will
2047
 
          be fired.
2048
 
    @chainable
2049
 
    **&#x2F;
2050
 
    undo: function (attrNames, options) {
2051
 
        var lastChange  = this.lastChange,
2052
 
            idAttribute = this.idAttribute,
2053
 
            toUndo      = {},
2054
 
            needUndo;
2055
 
 
2056
 
        attrNames || (attrNames = YObject.keys(lastChange));
2057
 
 
2058
 
        YArray.each(attrNames, function (name) {
2059
 
            if (YObject.owns(lastChange, name)) {
2060
 
                &#x2F;&#x2F; Don&#x27;t generate a double change for custom id attributes.
2061
 
                name = name === idAttribute ? &#x27;id&#x27; : name;
2062
 
 
2063
 
                needUndo     = true;
2064
 
                toUndo[name] = lastChange[name].prevVal;
2065
 
            }
2066
 
        });
2067
 
 
2068
 
        return needUndo ? this.setAttrs(toUndo, options) : this;
2069
 
    },
2070
 
 
2071
 
    &#x2F;**
2072
 
    Override this method to provide custom validation logic for this model.
2073
 
 
2074
 
    While attribute-specific validators can be used to validate individual
2075
 
    attributes, this method gives you a hook to validate a hash of all
2076
 
    attributes before the model is saved. This method is called automatically
2077
 
    before &#x60;save()&#x60; takes any action. If validation fails, the &#x60;save()&#x60; call
2078
 
    will be aborted.
2079
 
 
2080
 
    In your validation method, call the provided &#x60;callback&#x60; function with no
2081
 
    arguments to indicate success. To indicate failure, pass a single argument,
2082
 
    which may contain an error message, an array of error messages, or any other
2083
 
    value. This value will be passed along to the &#x60;error&#x60; event.
2084
 
 
2085
 
    @example
2086
 
 
2087
 
        model.validate = function (attrs, callback) {
2088
 
            if (attrs.pie !== true) {
2089
 
                &#x2F;&#x2F; No pie?! Invalid!
2090
 
                callback(&#x27;Must provide pie.&#x27;);
2091
 
                return;
2092
 
            }
2093
 
 
2094
 
            &#x2F;&#x2F; Success!
2095
 
            callback();
2096
 
        };
2097
 
 
2098
 
    @method validate
2099
 
    @param {Object} attrs Attribute hash containing all model attributes to
2100
 
        be validated.
2101
 
    @param {Function} callback Validation callback. Call this function when your
2102
 
        validation logic finishes. To trigger a validation failure, pass any
2103
 
        value as the first argument to the callback (ideally a meaningful
2104
 
        validation error of some kind).
2105
 
 
2106
 
        @param {Any} [callback.err] Validation error. Don&#x27;t provide this
2107
 
            argument if validation succeeds. If validation fails, set this to an
2108
 
            error message or some other meaningful value. It will be passed
2109
 
            along to the resulting &#x60;error&#x60; event.
2110
 
    **&#x2F;
2111
 
    validate: function (attrs, callback) {
2112
 
        callback &amp;&amp; callback();
2113
 
    },
2114
 
 
2115
 
    &#x2F;&#x2F; -- Protected Methods ----------------------------------------------------
2116
 
 
2117
 
    &#x2F;**
2118
 
    Duckpunches the &#x60;addAttr&#x60; method provided by &#x60;Y.Attribute&#x60; to keep the
2119
 
    &#x60;id&#x60; attribute’s value and a custom id attribute’s (if provided) value
2120
 
    in sync when adding the attributes to the model instance object.
2121
 
 
2122
 
    Marked as protected to hide it from Model&#x27;s public API docs, even though
2123
 
    this is a public method in Attribute.
2124
 
 
2125
 
    @method addAttr
2126
 
    @param {String} name The name of the attribute.
2127
 
    @param {Object} config An object with attribute configuration property&#x2F;value
2128
 
      pairs, specifying the configuration for the attribute.
2129
 
    @param {Boolean} lazy (optional) Whether or not to add this attribute lazily
2130
 
      (on the first call to get&#x2F;set).
2131
 
    @return {Object} A reference to the host object.
2132
 
    @chainable
2133
 
    @protected
2134
 
    **&#x2F;
2135
 
    addAttr: function (name, config, lazy) {
2136
 
        var idAttribute = this.idAttribute,
2137
 
            idAttrCfg, id;
2138
 
 
2139
 
        if (idAttribute &amp;&amp; name === idAttribute) {
2140
 
            idAttrCfg = this._isLazyAttr(&#x27;id&#x27;) || this._getAttrCfg(&#x27;id&#x27;);
2141
 
            id        = config.value === config.defaultValue ? null : config.value;
2142
 
 
2143
 
            if (!Lang.isValue(id)) {
2144
 
                &#x2F;&#x2F; Hunt for the id value.
2145
 
                id = idAttrCfg.value === idAttrCfg.defaultValue ? null : idAttrCfg.value;
2146
 
 
2147
 
                if (!Lang.isValue(id)) {
2148
 
                    &#x2F;&#x2F; No id value provided on construction, check defaults.
2149
 
                    id = Lang.isValue(config.defaultValue) ?
2150
 
                        config.defaultValue :
2151
 
                        idAttrCfg.defaultValue;
2152
 
                }
2153
 
            }
2154
 
 
2155
 
            config.value = id;
2156
 
 
2157
 
            &#x2F;&#x2F; Make sure &#x60;id&#x60; is in sync.
2158
 
            if (idAttrCfg.value !== id) {
2159
 
                idAttrCfg.value = id;
2160
 
 
2161
 
                if (this._isLazyAttr(&#x27;id&#x27;)) {
2162
 
                    this._state.add(&#x27;id&#x27;, &#x27;lazy&#x27;, idAttrCfg);
2163
 
                } else {
2164
 
                    this._state.add(&#x27;id&#x27;, &#x27;value&#x27;, id);
2165
 
                }
2166
 
            }
2167
 
        }
2168
 
 
2169
 
        return Model.superclass.addAttr.apply(this, arguments);
2170
 
    },
2171
 
 
2172
 
    &#x2F;**
2173
 
    Calls the public, overridable &#x60;validate()&#x60; method and fires an &#x60;error&#x60; event
2174
 
    if validation fails.
2175
 
 
2176
 
    @method _validate
2177
 
    @param {Object} attributes Attribute hash.
2178
 
    @param {Function} callback Validation callback.
2179
 
        @param {Any} [callback.err] Value on failure, non-value on success.
2180
 
    @protected
2181
 
    **&#x2F;
2182
 
    _validate: function (attributes, callback) {
2183
 
        var self = this;
2184
 
 
2185
 
        function handler(err) {
2186
 
            if (Lang.isValue(err)) {
2187
 
                &#x2F;&#x2F; Validation failed. Fire an error.
2188
 
                self.fire(EVT_ERROR, {
2189
 
                    attributes: attributes,
2190
 
                    error     : err,
2191
 
                    src       : &#x27;validate&#x27;
2192
 
                });
2193
 
 
2194
 
                callback(err);
2195
 
                return;
2196
 
            }
2197
 
 
2198
 
            callback();
2199
 
        }
2200
 
 
2201
 
        if (self.validate.length === 1) {
2202
 
            &#x2F;&#x2F; Backcompat for 3.4.x-style synchronous validate() functions that
2203
 
            &#x2F;&#x2F; don&#x27;t take a callback argument.
2204
 
            Y.log(&#x27;Synchronous validate() methods are deprecated since YUI 3.5.0.&#x27;, &#x27;warn&#x27;, &#x27;Model&#x27;);
2205
 
            handler(self.validate(attributes, handler));
2206
 
        } else {
2207
 
            self.validate(attributes, handler);
2208
 
        }
2209
 
    },
2210
 
 
2211
 
    &#x2F;&#x2F; -- Protected Event Handlers ---------------------------------------------
2212
 
 
2213
 
    &#x2F;**
2214
 
    Duckpunches the &#x60;_defAttrChangeFn()&#x60; provided by &#x60;Y.Attribute&#x60; so we can
2215
 
    have a single global notification when a change event occurs.
2216
 
 
2217
 
    @method _defAttrChangeFn
2218
 
    @param {EventFacade} e
2219
 
    @protected
2220
 
    **&#x2F;
2221
 
    _defAttrChangeFn: function (e) {
2222
 
        var attrName = e.attrName;
2223
 
 
2224
 
        if (!this._setAttrVal(attrName, e.subAttrName, e.prevVal, e.newVal)) {
2225
 
            Y.log(&#x27;State not updated and stopImmediatePropagation called for attribute: &#x27; + attrName + &#x27; , value:&#x27; + e.newVal, &#x27;warn&#x27;, &#x27;attribute&#x27;);
2226
 
            &#x2F;&#x2F; Prevent &quot;after&quot; listeners from being invoked since nothing changed.
2227
 
            e.stopImmediatePropagation();
2228
 
        } else {
2229
 
            e.newVal = this.get(attrName);
2230
 
 
2231
 
            if (e._transaction) {
2232
 
                e._transaction[attrName] = e;
2233
 
            }
2234
 
        }
2235
 
    }
2236
 
}, {
2237
 
    NAME: &#x27;model&#x27;,
2238
 
 
2239
 
    ATTRS: {
2240
 
        &#x2F;**
2241
 
        A client-only identifier for this model.
2242
 
 
2243
 
        Like the &#x60;id&#x60; attribute, &#x60;clientId&#x60; may be used to retrieve model
2244
 
        instances from lists. Unlike the &#x60;id&#x60; attribute, &#x60;clientId&#x60; is
2245
 
        automatically generated, and is only intended to be used on the client
2246
 
        during the current pageview.
2247
 
 
2248
 
        @attribute clientId
2249
 
        @type String
2250
 
        @readOnly
2251
 
        **&#x2F;
2252
 
        clientId: {
2253
 
            valueFn : &#x27;generateClientId&#x27;,
2254
 
            readOnly: true
2255
 
        },
2256
 
 
2257
 
        &#x2F;**
2258
 
        A unique identifier for this model. Among other things, this id may be
2259
 
        used to retrieve model instances from lists, so it should be unique.
2260
 
 
2261
 
        If the id is empty, this model instance is assumed to represent a new
2262
 
        item that hasn&#x27;t yet been saved.
2263
 
 
2264
 
        If you would prefer to use a custom attribute as this model&#x27;s id instead
2265
 
        of using the &#x60;id&#x60; attribute (for example, maybe you&#x27;d rather use &#x60;_id&#x60;
2266
 
        or &#x60;uid&#x60; as the primary id), you may set the &#x60;idAttribute&#x60; property to
2267
 
        the name of your custom id attribute. The &#x60;id&#x60; attribute will then
2268
 
        act as an alias for your custom attribute.
2269
 
 
2270
 
        @attribute id
2271
 
        @type String|Number|null
2272
 
        @default &#x60;null&#x60;
2273
 
        **&#x2F;
2274
 
        id: {value: null}
2275
 
    }
2276
 
});
2277
 
 
2278
 
    </pre>
2279
 
</div>
2280
 
 
2281
 
                    </div>
2282
 
                </div>
2283
 
            </div>
2284
 
        </div>
2285
 
    </div>
2286
 
</div>
2287
 
<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
2288
 
<script>prettyPrint();</script>
2289
 
<script src="..&#x2F;assets/js/yui-prettify.js"></script>
2290
 
<script src="..&#x2F;assets/../api.js"></script>
2291
 
<script src="..&#x2F;assets/js/api-filter.js"></script>
2292
 
<script src="..&#x2F;assets/js/api-list.js"></script>
2293
 
<script src="..&#x2F;assets/js/api-search.js"></script>
2294
 
<script src="..&#x2F;assets/js/apidocs.js"></script>
2295
 
</body>
2296
 
</html>