<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Model - YUI 3</title>
<link rel="stylesheet" href="http://yui.yahooapis.com/3.9.1/build/cssgrids/cssgrids-min.css">
<link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
<link rel="stylesheet" href="../assets/css/main.css" id="site_styles">
<link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
<script src="http://yui.yahooapis.com/combo?3.9.1/build/yui/yui-min.js"></script>
</head>
<body class="yui3-skin-sam">
<div id="doc">
<div id="hd" class="yui3-g header">
<div class="yui3-u-3-4">
<h1><img src="../assets/css/logo.png" title="YUI 3"></h1>
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 3.10.3</em>
</div>
</div>
<div id="bd" class="yui3-g">
<div class="yui3-u-1-4">
<div id="docs-sidebar" class="sidebar apidocs">
<div id="api-list">
<h2 class="off-left">APIs</h2>
<div id="api-tabview" class="tabview">
<ul class="tabs">
<li><a href="#api-classes">Classes</a></li>
<li><a href="#api-modules">Modules</a></li>
</ul>
<div id="api-tabview-filter">
<input type="search" id="api-filter" placeholder="Type to filter APIs">
</div>
<div id="api-tabview-panel">
<ul id="api-classes" class="apis classes">
<li><a href="../classes/Anim.html">Anim</a></li>
<li><a href="../classes/App.html">App</a></li>
<li><a href="../classes/App.Base.html">App.Base</a></li>
<li><a href="../classes/App.Content.html">App.Content</a></li>
<li><a href="../classes/App.Transitions.html">App.Transitions</a></li>
<li><a href="../classes/App.TransitionsNative.html">App.TransitionsNative</a></li>
<li><a href="../classes/AreaSeries.html">AreaSeries</a></li>
<li><a href="../classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
<li><a href="../classes/Array.html">Array</a></li>
<li><a href="../classes/ArrayList.html">ArrayList</a></li>
<li><a href="../classes/ArraySort.html">ArraySort</a></li>
<li><a href="../classes/AsyncQueue.html">AsyncQueue</a></li>
<li><a href="../classes/Attribute.html">Attribute</a></li>
<li><a href="../classes/AttributeCore.html">AttributeCore</a></li>
<li><a href="../classes/AttributeEvents.html">AttributeEvents</a></li>
<li><a href="../classes/AttributeExtras.html">AttributeExtras</a></li>
<li><a href="../classes/AttributeLite.html">AttributeLite</a></li>
<li><a href="../classes/AttributeObservable.html">AttributeObservable</a></li>
<li><a href="../classes/AutoComplete.html">AutoComplete</a></li>
<li><a href="../classes/AutoCompleteBase.html">AutoCompleteBase</a></li>
<li><a href="../classes/AutoCompleteFilters.html">AutoCompleteFilters</a></li>
<li><a href="../classes/AutoCompleteHighlighters.html">AutoCompleteHighlighters</a></li>
<li><a href="../classes/AutoCompleteList.html">AutoCompleteList</a></li>
<li><a href="../classes/Axis.html">Axis</a></li>
<li><a href="../classes/AxisBase.html">AxisBase</a></li>
<li><a href="../classes/BarSeries.html">BarSeries</a></li>
<li><a href="../classes/Base.html">Base</a></li>
<li><a href="../classes/BaseCore.html">BaseCore</a></li>
<li><a href="../classes/BaseObservable.html">BaseObservable</a></li>
<li><a href="../classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
<li><a href="../classes/Button.html">Button</a></li>
<li><a href="../classes/ButtonCore.html">ButtonCore</a></li>
<li><a href="../classes/ButtonGroup.html">ButtonGroup</a></li>
<li><a href="../classes/Cache.html">Cache</a></li>
<li><a href="../classes/CacheOffline.html">CacheOffline</a></li>
<li><a href="../classes/Calendar.html">Calendar</a></li>
<li><a href="../classes/CalendarBase.html">CalendarBase</a></li>
<li><a href="../classes/CandlestickSeries.html">CandlestickSeries</a></li>
<li><a href="../classes/CanvasCircle.html">CanvasCircle</a></li>
<li><a href="../classes/CanvasDrawing.html">CanvasDrawing</a></li>
<li><a href="../classes/CanvasEllipse.html">CanvasEllipse</a></li>
<li><a href="../classes/CanvasGraphic.html">CanvasGraphic</a></li>
<li><a href="../classes/CanvasPath.html">CanvasPath</a></li>
<li><a href="../classes/CanvasPieSlice.html">CanvasPieSlice</a></li>
<li><a href="../classes/CanvasRect.html">CanvasRect</a></li>
<li><a href="../classes/CanvasShape.html">CanvasShape</a></li>
<li><a href="../classes/CartesianChart.html">CartesianChart</a></li>
<li><a href="../classes/CartesianSeries.html">CartesianSeries</a></li>
<li><a href="../classes/CategoryAxis.html">CategoryAxis</a></li>
<li><a href="../classes/CategoryAxisBase.html">CategoryAxisBase</a></li>
<li><a href="../classes/CategoryImpl.html">CategoryImpl</a></li>
<li><a href="../classes/Chart.html">Chart</a></li>
<li><a href="../classes/ChartBase.html">ChartBase</a></li>
<li><a href="../classes/ChartLegend.html">ChartLegend</a></li>
<li><a href="../classes/Circle.html">Circle</a></li>
<li><a href="../classes/CircleGroup.html">CircleGroup</a></li>
<li><a href="../classes/ClassNameManager.html">ClassNameManager</a></li>
<li><a href="../classes/ClickableRail.html">ClickableRail</a></li>
<li><a href="../classes/Color.html">Color</a></li>
<li><a href="../classes/Color.Harmony.html">Color.Harmony</a></li>
<li><a href="../classes/Color.HSL.html">Color.HSL</a></li>
<li><a href="../classes/Color.HSV.html">Color.HSV</a></li>
<li><a href="../classes/ColumnSeries.html">ColumnSeries</a></li>
<li><a href="../classes/ComboSeries.html">ComboSeries</a></li>
<li><a href="../classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
<li><a href="../classes/config.html">config</a></li>
<li><a href="../classes/Console.html">Console</a></li>
<li><a href="../classes/Controller.html">Controller</a></li>
<li><a href="../classes/Cookie.html">Cookie</a></li>
<li><a href="../classes/CurveUtil.html">CurveUtil</a></li>
<li><a href="../classes/CustomEvent.html">CustomEvent</a></li>
<li><a href="../classes/DataSchema.Array.html">DataSchema.Array</a></li>
<li><a href="../classes/DataSchema.Base.html">DataSchema.Base</a></li>
<li><a href="../classes/DataSchema.JSON.html">DataSchema.JSON</a></li>
<li><a href="../classes/DataSchema.Text.html">DataSchema.Text</a></li>
<li><a href="../classes/DataSchema.XML.html">DataSchema.XML</a></li>
<li><a href="../classes/DataSource.Function.html">DataSource.Function</a></li>
<li><a href="../classes/DataSource.Get.html">DataSource.Get</a></li>
<li><a href="../classes/DataSource.IO.html">DataSource.IO</a></li>
<li><a href="../classes/DataSource.Local.html">DataSource.Local</a></li>
<li><a href="../classes/DataSourceArraySchema.html">DataSourceArraySchema</a></li>
<li><a href="../classes/DataSourceCache.html">DataSourceCache</a></li>
<li><a href="../classes/DataSourceCacheExtension.html">DataSourceCacheExtension</a></li>
<li><a href="../classes/DataSourceJSONSchema.html">DataSourceJSONSchema</a></li>
<li><a href="../classes/DataSourceTextSchema.html">DataSourceTextSchema</a></li>
<li><a href="../classes/DataSourceXMLSchema.html">DataSourceXMLSchema</a></li>
<li><a href="../classes/DataTable.html">DataTable</a></li>
<li><a href="../classes/DataTable.Base.html">DataTable.Base</a></li>
<li><a href="../classes/DataTable.BodyView.html">DataTable.BodyView</a></li>
<li><a href="../classes/DataTable.BodyView.Formatters.html">DataTable.BodyView.Formatters</a></li>
<li><a href="../classes/DataTable.ColumnWidths.html">DataTable.ColumnWidths</a></li>
<li><a href="../classes/DataTable.Core.html">DataTable.Core</a></li>
<li><a href="../classes/DataTable.HeaderView.html">DataTable.HeaderView</a></li>
<li><a href="../classes/DataTable.Message.html">DataTable.Message</a></li>
<li><a href="../classes/DataTable.Mutable.html">DataTable.Mutable</a></li>
<li><a href="../classes/DataTable.Scrollable.html">DataTable.Scrollable</a></li>
<li><a href="../classes/DataTable.Sortable.html">DataTable.Sortable</a></li>
<li><a href="../classes/DataTable.TableView.html">DataTable.TableView</a></li>
<li><a href="../classes/Date.html">Date</a></li>
<li><a href="../classes/DD.DDM.html">DD.DDM</a></li>
<li><a href="../classes/DD.Delegate.html">DD.Delegate</a></li>
<li><a href="../classes/DD.Drag.html">DD.Drag</a></li>
<li><a href="../classes/DD.Drop.html">DD.Drop</a></li>
<li><a href="../classes/DD.Scroll.html">DD.Scroll</a></li>
<li><a href="../classes/Dial.html">Dial</a></li>
<li><a href="../classes/Do.html">Do</a></li>
<li><a href="../classes/Do.AlterArgs.html">Do.AlterArgs</a></li>
<li><a href="../classes/Do.AlterReturn.html">Do.AlterReturn</a></li>
<li><a href="../classes/Do.Error.html">Do.Error</a></li>
<li><a href="../classes/Do.Halt.html">Do.Halt</a></li>
<li><a href="../classes/Do.Method.html">Do.Method</a></li>
<li><a href="../classes/Do.Prevent.html">Do.Prevent</a></li>
<li><a href="../classes/DOM.html">DOM</a></li>
<li><a href="../classes/DOMEventFacade.html">DOMEventFacade</a></li>
<li><a href="../classes/Drawing.html">Drawing</a></li>
<li><a href="../classes/Easing.html">Easing</a></li>
<li><a href="../classes/EditorBase.html">EditorBase</a></li>
<li><a href="../classes/EditorSelection.html">EditorSelection</a></li>
<li><a href="../classes/Ellipse.html">Ellipse</a></li>
<li><a href="../classes/EllipseGroup.html">EllipseGroup</a></li>
<li><a href="../classes/Escape.html">Escape</a></li>
<li><a href="../classes/Event.html">Event</a></li>
<li><a href="../classes/EventFacade.html">EventFacade</a></li>
<li><a href="../classes/EventHandle.html">EventHandle</a></li>
<li><a href="../classes/EventTarget.html">EventTarget</a></li>
<li><a href="../classes/ExecCommand.html">ExecCommand</a></li>
<li><a href="../classes/Features.html">Features</a></li>
<li><a href="../classes/File.html">File</a></li>
<li><a href="../classes/FileFlash.html">FileFlash</a></li>
<li><a href="../classes/FileHTML5.html">FileHTML5</a></li>
<li><a href="../classes/Fills.html">Fills</a></li>
<li><a href="../classes/Frame.html">Frame</a></li>
<li><a href="../classes/Get.html">Get</a></li>
<li><a href="../classes/Get.Transaction.html">Get.Transaction</a></li>
<li><a href="../classes/GetNodeJS.html">GetNodeJS</a></li>
<li><a href="../classes/Graph.html">Graph</a></li>
<li><a href="../classes/Graphic.html">Graphic</a></li>
<li><a href="../classes/GraphicBase.html">GraphicBase</a></li>
<li><a href="../classes/Gridlines.html">Gridlines</a></li>
<li><a href="../classes/GroupDiamond.html">GroupDiamond</a></li>
<li><a href="../classes/GroupRect.html">GroupRect</a></li>
<li><a href="../classes/Handlebars.html">Handlebars</a></li>
<li><a href="../classes/Highlight.html">Highlight</a></li>
<li><a href="../classes/Histogram.html">Histogram</a></li>
<li><a href="../classes/HistoryBase.html">HistoryBase</a></li>
<li><a href="../classes/HistoryHash.html">HistoryHash</a></li>
<li><a href="../classes/HistoryHTML5.html">HistoryHTML5</a></li>
<li><a href="../classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
<li><a href="../classes/ImgLoadGroup.html">ImgLoadGroup</a></li>
<li><a href="../classes/ImgLoadImgObj.html">ImgLoadImgObj</a></li>
<li><a href="../classes/Intl.html">Intl</a></li>
<li><a href="../classes/IO.html">IO</a></li>
<li><a href="../classes/JSON.html">JSON</a></li>
<li><a href="../classes/JSONPRequest.html">JSONPRequest</a></li>
<li><a href="../classes/Lang.html">Lang</a></li>
<li><a href="../classes/LazyModelList.html">LazyModelList</a></li>
<li><a href="../classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
<li><a href="../classes/Lines.html">Lines</a></li>
<li><a href="../classes/LineSeries.html">LineSeries</a></li>
<li><a href="../classes/Loader.html">Loader</a></li>
<li><a href="../classes/MarkerSeries.html">MarkerSeries</a></li>
<li><a href="../classes/Matrix.html">Matrix</a></li>
<li><a href="../classes/MatrixUtil.html">MatrixUtil</a></li>
<li><a href="../classes/Model.html">Model</a></li>
<li><a href="../classes/ModelList.html">ModelList</a></li>
<li><a href="../classes/ModelSync.REST.html">ModelSync.REST</a></li>
<li><a href="../classes/Node.html">Node</a></li>
<li><a href="../classes/NodeList.html">NodeList</a></li>
<li><a href="../classes/Number.html">Number</a></li>
<li><a href="../classes/NumericAxis.html">NumericAxis</a></li>
<li><a href="../classes/NumericAxisBase.html">NumericAxisBase</a></li>
<li><a href="../classes/NumericImpl.html">NumericImpl</a></li>
<li><a href="../classes/Object.html">Object</a></li>
<li><a href="../classes/OHLCSeries.html">OHLCSeries</a></li>
<li><a href="../classes/Overlay.html">Overlay</a></li>
<li><a href="../classes/Panel.html">Panel</a></li>
<li><a href="../classes/Parallel.html">Parallel</a></li>
<li><a href="../classes/Path.html">Path</a></li>
<li><a href="../classes/PieChart.html">PieChart</a></li>
<li><a href="../classes/PieSeries.html">PieSeries</a></li>
<li><a href="../classes/Pjax.html">Pjax</a></li>
<li><a href="../classes/PjaxBase.html">PjaxBase</a></li>
<li><a href="../classes/PjaxContent.html">PjaxContent</a></li>
<li><a href="../classes/Plots.html">Plots</a></li>
<li><a href="../classes/Plugin.Align.html">Plugin.Align</a></li>
<li><a href="../classes/Plugin.AutoComplete.html">Plugin.AutoComplete</a></li>
<li><a href="../classes/Plugin.Base.html">Plugin.Base</a></li>
<li><a href="../classes/Plugin.Button.html">Plugin.Button</a></li>
<li><a href="../classes/Plugin.Cache.html">Plugin.Cache</a></li>
<li><a href="../classes/Plugin.CalendarNavigator.html">Plugin.CalendarNavigator</a></li>
<li><a href="../classes/Plugin.ConsoleFilters.html">Plugin.ConsoleFilters</a></li>
<li><a href="../classes/Plugin.CreateLinkBase.html">Plugin.CreateLinkBase</a></li>
<li><a href="../classes/Plugin.DataTableDataSource.html">Plugin.DataTableDataSource</a></li>
<li><a href="../classes/Plugin.DDConstrained.html">Plugin.DDConstrained</a></li>
<li><a href="../classes/Plugin.DDNodeScroll.html">Plugin.DDNodeScroll</a></li>
<li><a href="../classes/Plugin.DDProxy.html">Plugin.DDProxy</a></li>
<li><a href="../classes/Plugin.DDWindowScroll.html">Plugin.DDWindowScroll</a></li>
<li><a href="../classes/Plugin.Drag.html">Plugin.Drag</a></li>
<li><a href="../classes/Plugin.Drop.html">Plugin.Drop</a></li>
<li><a href="../classes/Plugin.EditorBidi.html">Plugin.EditorBidi</a></li>
<li><a href="../classes/Plugin.EditorBR.html">Plugin.EditorBR</a></li>
<li><a href="../classes/Plugin.EditorLists.html">Plugin.EditorLists</a></li>
<li><a href="../classes/Plugin.EditorPara.html">Plugin.EditorPara</a></li>
<li><a href="../classes/Plugin.EditorParaBase.html">Plugin.EditorParaBase</a></li>
<li><a href="../classes/Plugin.EditorParaIE.html">Plugin.EditorParaIE</a></li>
<li><a href="../classes/Plugin.EditorTab.html">Plugin.EditorTab</a></li>
<li><a href="../classes/Plugin.ExecCommand.html">Plugin.ExecCommand</a></li>
<li><a href="../classes/Plugin.Flick.html">Plugin.Flick</a></li>
<li><a href="../classes/Plugin.Host.html">Plugin.Host</a></li>
<li><a href="../classes/plugin.NodeFocusManager.html">plugin.NodeFocusManager</a></li>
<li><a href="../classes/Plugin.NodeFX.html">Plugin.NodeFX</a></li>
<li><a href="../classes/plugin.NodeMenuNav.html">plugin.NodeMenuNav</a></li>
<li><a href="../classes/Plugin.Pjax.html">Plugin.Pjax</a></li>
<li><a href="../classes/Plugin.Resize.html">Plugin.Resize</a></li>
<li><a href="../classes/Plugin.ResizeConstrained.html">Plugin.ResizeConstrained</a></li>
<li><a href="../classes/Plugin.ResizeProxy.html">Plugin.ResizeProxy</a></li>
<li><a href="../classes/Plugin.ScrollInfo.html">Plugin.ScrollInfo</a></li>
<li><a href="../classes/Plugin.ScrollViewList.html">Plugin.ScrollViewList</a></li>
<li><a href="../classes/Plugin.ScrollViewPaginator.html">Plugin.ScrollViewPaginator</a></li>
<li><a href="../classes/Plugin.ScrollViewScrollbars.html">Plugin.ScrollViewScrollbars</a></li>
<li><a href="../classes/Plugin.Shim.html">Plugin.Shim</a></li>
<li><a href="../classes/Plugin.SortScroll.html">Plugin.SortScroll</a></li>
<li><a href="../classes/Plugin.Tree.Lazy.html">Plugin.Tree.Lazy</a></li>
<li><a href="../classes/Plugin.WidgetAnim.html">Plugin.WidgetAnim</a></li>
<li><a href="../classes/Pollable.html">Pollable</a></li>
<li><a href="../classes/Promise.html">Promise</a></li>
<li><a href="../classes/Promise.Resolver.html">Promise.Resolver</a></li>
<li><a href="../classes/QueryString.html">QueryString</a></li>
<li><a href="../classes/Queue.html">Queue</a></li>
<li><a href="../classes/RangeSeries.html">RangeSeries</a></li>
<li><a href="../classes/Record.html">Record</a></li>
<li><a href="../classes/Recordset.html">Recordset</a></li>
<li><a href="../classes/RecordsetFilter.html">RecordsetFilter</a></li>
<li><a href="../classes/RecordsetIndexer.html">RecordsetIndexer</a></li>
<li><a href="../classes/RecordsetSort.html">RecordsetSort</a></li>
<li><a href="../classes/Rect.html">Rect</a></li>
<li><a href="../classes/Renderer.html">Renderer</a></li>
<li><a href="../classes/Resize.html">Resize</a></li>
<li><a href="../classes/RightAxisLayout.html">RightAxisLayout</a></li>
<li><a href="../classes/Router.html">Router</a></li>
<li><a href="../classes/ScrollView.html">ScrollView</a></li>
<li><a href="../classes/Selector.html">Selector</a></li>
<li><a href="../classes/SeriesBase.html">SeriesBase</a></li>
<li><a href="../classes/Shape.html">Shape</a></li>
<li><a href="../classes/ShapeGroup.html">ShapeGroup</a></li>
<li><a href="../classes/Slider.html">Slider</a></li>
<li><a href="../classes/SliderBase.html">SliderBase</a></li>
<li><a href="../classes/SliderValueRange.html">SliderValueRange</a></li>
<li><a href="../classes/soon.html">soon</a></li>
<li><a href="../classes/Sortable.html">Sortable</a></li>
<li><a href="../classes/SplineSeries.html">SplineSeries</a></li>
<li><a href="../classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
<li><a href="../classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
<li><a href="../classes/StackedAxis.html">StackedAxis</a></li>
<li><a href="../classes/StackedAxisBase.html">StackedAxisBase</a></li>
<li><a href="../classes/StackedBarSeries.html">StackedBarSeries</a></li>
<li><a href="../classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
<li><a href="../classes/StackedComboSeries.html">StackedComboSeries</a></li>
<li><a href="../classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
<li><a href="../classes/StackedImpl.html">StackedImpl</a></li>
<li><a href="../classes/StackedLineSeries.html">StackedLineSeries</a></li>
<li><a href="../classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
<li><a href="../classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
<li><a href="../classes/StackingUtil.html">StackingUtil</a></li>
<li><a href="../classes/State.html">State</a></li>
<li><a href="../classes/StyleSheet.html">StyleSheet</a></li>
<li><a href="../classes/Subscriber.html">Subscriber</a></li>
<li><a href="../classes/SVGCircle.html">SVGCircle</a></li>
<li><a href="../classes/SVGDrawing.html">SVGDrawing</a></li>
<li><a href="../classes/SVGEllipse.html">SVGEllipse</a></li>
<li><a href="../classes/SVGGraphic.html">SVGGraphic</a></li>
<li><a href="../classes/SVGPath.html">SVGPath</a></li>
<li><a href="../classes/SVGPieSlice.html">SVGPieSlice</a></li>
<li><a href="../classes/SVGRect.html">SVGRect</a></li>
<li><a href="../classes/SVGShape.html">SVGShape</a></li>
<li><a href="../classes/SWF.html">SWF</a></li>
<li><a href="../classes/SWFDetect.html">SWFDetect</a></li>
<li><a href="../classes/SyntheticEvent.html">SyntheticEvent</a></li>
<li><a href="../classes/SyntheticEvent.Notifier.html">SyntheticEvent.Notifier</a></li>
<li><a href="../classes/SynthRegistry.html">SynthRegistry</a></li>
<li><a href="../classes/Tab.html">Tab</a></li>
<li><a href="../classes/TabView.html">TabView</a></li>
<li><a href="../classes/Template.html">Template</a></li>
<li><a href="../classes/Template.Micro.html">Template.Micro</a></li>
<li><a href="../classes/Test.ArrayAssert.html">Test.ArrayAssert</a></li>
<li><a href="../classes/Test.Assert.html">Test.Assert</a></li>
<li><a href="../classes/Test.AssertionError.html">Test.AssertionError</a></li>
<li><a href="../classes/Test.ComparisonFailure.html">Test.ComparisonFailure</a></li>
<li><a href="../classes/Test.Console.html">Test.Console</a></li>
<li><a href="../classes/Test.CoverageFormat.html">Test.CoverageFormat</a></li>
<li><a href="../classes/Test.DateAssert.html">Test.DateAssert</a></li>
<li><a href="../classes/Test.EventTarget.html">Test.EventTarget</a></li>
<li><a href="../classes/Test.Mock.html">Test.Mock</a></li>
<li><a href="../classes/Test.Mock.Value.html">Test.Mock.Value</a></li>
<li><a href="../classes/Test.ObjectAssert.html">Test.ObjectAssert</a></li>
<li><a href="../classes/Test.Reporter.html">Test.Reporter</a></li>
<li><a href="../classes/Test.Results.html">Test.Results</a></li>
<li><a href="../classes/Test.Runner.html">Test.Runner</a></li>
<li><a href="../classes/Test.ShouldError.html">Test.ShouldError</a></li>
<li><a href="../classes/Test.ShouldFail.html">Test.ShouldFail</a></li>
<li><a href="../classes/Test.TestCase.html">Test.TestCase</a></li>
<li><a href="../classes/Test.TestFormat.html">Test.TestFormat</a></li>
<li><a href="../classes/Test.TestNode.html">Test.TestNode</a></li>
<li><a href="../classes/Test.TestRunner.html">Test.TestRunner</a></li>
<li><a href="../classes/Test.TestSuite.html">Test.TestSuite</a></li>
<li><a href="../classes/Test.UnexpectedError.html">Test.UnexpectedError</a></li>
<li><a href="../classes/Test.UnexpectedValue.html">Test.UnexpectedValue</a></li>
<li><a href="../classes/Test.Wait.html">Test.Wait</a></li>
<li><a href="../classes/Text.AccentFold.html">Text.AccentFold</a></li>
<li><a href="../classes/Text.WordBreak.html">Text.WordBreak</a></li>
<li><a href="../classes/TimeAxis.html">TimeAxis</a></li>
<li><a href="../classes/TimeAxisBase.html">TimeAxisBase</a></li>
<li><a href="../classes/TimeImpl.html">TimeImpl</a></li>
<li><a href="../classes/ToggleButton.html">ToggleButton</a></li>
<li><a href="../classes/TopAxisLayout.html">TopAxisLayout</a></li>
<li><a href="../classes/Transition.html">Transition</a></li>
<li><a href="../classes/Tree.html">Tree</a></li>
<li><a href="../classes/Tree.Labelable.html">Tree.Labelable</a></li>
<li><a href="../classes/Tree.Node.html">Tree.Node</a></li>
<li><a href="../classes/Tree.Node.Labelable.html">Tree.Node.Labelable</a></li>
<li><a href="../classes/Tree.Node.Openable.html">Tree.Node.Openable</a></li>
<li><a href="../classes/Tree.Node.Selectable.html">Tree.Node.Selectable</a></li>
<li><a href="../classes/Tree.Node.Sortable.html">Tree.Node.Sortable</a></li>
<li><a href="../classes/Tree.Openable.html">Tree.Openable</a></li>
<li><a href="../classes/Tree.Selectable.html">Tree.Selectable</a></li>
<li><a href="../classes/Tree.Sortable.html">Tree.Sortable</a></li>
<li><a href="../classes/UA.html">UA</a></li>
<li><a href="../classes/Uploader.html">Uploader</a></li>
<li><a href="../classes/Uploader.Queue.html">Uploader.Queue</a></li>
<li><a href="../classes/UploaderFlash.html">UploaderFlash</a></li>
<li><a href="../classes/UploaderHTML5.html">UploaderHTML5</a></li>
<li><a href="../classes/ValueChange.html">ValueChange</a></li>
<li><a href="../classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
<li><a href="../classes/View.html">View</a></li>
<li><a href="../classes/View.NodeMap.html">View.NodeMap</a></li>
<li><a href="../classes/VMLCircle.html">VMLCircle</a></li>
<li><a href="../classes/VMLDrawing.html">VMLDrawing</a></li>
<li><a href="../classes/VMLEllipse.html">VMLEllipse</a></li>
<li><a href="../classes/VMLGraphic.html">VMLGraphic</a></li>
<li><a href="../classes/VMLPath.html">VMLPath</a></li>
<li><a href="../classes/VMLPieSlice.html">VMLPieSlice</a></li>
<li><a href="../classes/VMLRect.html">VMLRect</a></li>
<li><a href="../classes/VMLShape.html">VMLShape</a></li>
<li><a href="../classes/Widget.html">Widget</a></li>
<li><a href="../classes/WidgetAutohide.html">WidgetAutohide</a></li>
<li><a href="../classes/WidgetButtons.html">WidgetButtons</a></li>
<li><a href="../classes/WidgetChild.html">WidgetChild</a></li>
<li><a href="../classes/WidgetModality.html">WidgetModality</a></li>
<li><a href="../classes/WidgetParent.html">WidgetParent</a></li>
<li><a href="../classes/WidgetPosition.html">WidgetPosition</a></li>
<li><a href="../classes/WidgetPositionAlign.html">WidgetPositionAlign</a></li>
<li><a href="../classes/WidgetPositionConstrain.html">WidgetPositionConstrain</a></li>
<li><a href="../classes/WidgetStack.html">WidgetStack</a></li>
<li><a href="../classes/WidgetStdMod.html">WidgetStdMod</a></li>
<li><a href="../classes/XML.html">XML</a></li>
<li><a href="../classes/YQL.html">YQL</a></li>
<li><a href="../classes/YQLRequest.html">YQLRequest</a></li>
<li><a href="../classes/YUI.html">YUI</a></li>
<li><a href="../classes/YUI~substitute.html">YUI~substitute</a></li>
</ul>
<ul id="api-modules" class="apis modules">
<li><a href="../modules/align-plugin.html">align-plugin</a></li>
<li><a href="../modules/anim.html">anim</a></li>
<li><a href="../modules/anim-base.html">anim-base</a></li>
<li><a href="../modules/anim-color.html">anim-color</a></li>
<li><a href="../modules/anim-curve.html">anim-curve</a></li>
<li><a href="../modules/anim-easing.html">anim-easing</a></li>
<li><a href="../modules/anim-node-plugin.html">anim-node-plugin</a></li>
<li><a href="../modules/anim-scroll.html">anim-scroll</a></li>
<li><a href="../modules/anim-shape.html">anim-shape</a></li>
<li><a href="../modules/anim-shape-transform.html">anim-shape-transform</a></li>
<li><a href="../modules/anim-xy.html">anim-xy</a></li>
<li><a href="../modules/app.html">app</a></li>
<li><a href="../modules/app-base.html">app-base</a></li>
<li><a href="../modules/app-content.html">app-content</a></li>
<li><a href="../modules/app-transitions.html">app-transitions</a></li>
<li><a href="../modules/app-transitions-native.html">app-transitions-native</a></li>
<li><a href="../modules/array-extras.html">array-extras</a></li>
<li><a href="../modules/array-invoke.html">array-invoke</a></li>
<li><a href="../modules/arraylist.html">arraylist</a></li>
<li><a href="../modules/arraylist-add.html">arraylist-add</a></li>
<li><a href="../modules/arraylist-filter.html">arraylist-filter</a></li>
<li><a href="../modules/arraysort.html">arraysort</a></li>
<li><a href="../modules/async-queue.html">async-queue</a></li>
<li><a href="../modules/attribute.html">attribute</a></li>
<li><a href="../modules/attribute-base.html">attribute-base</a></li>
<li><a href="../modules/attribute-complex.html">attribute-complex</a></li>
<li><a href="../modules/attribute-core.html">attribute-core</a></li>
<li><a href="../modules/attribute-extras.html">attribute-extras</a></li>
<li><a href="../modules/attribute-observable.html">attribute-observable</a></li>
<li><a href="../modules/autocomplete.html">autocomplete</a></li>
<li><a href="../modules/autocomplete-base.html">autocomplete-base</a></li>
<li><a href="../modules/autocomplete-filters.html">autocomplete-filters</a></li>
<li><a href="../modules/autocomplete-filters-accentfold.html">autocomplete-filters-accentfold</a></li>
<li><a href="../modules/autocomplete-highlighters.html">autocomplete-highlighters</a></li>
<li><a href="../modules/autocomplete-highlighters-accentfold.html">autocomplete-highlighters-accentfold</a></li>
<li><a href="../modules/autocomplete-list.html">autocomplete-list</a></li>
<li><a href="../modules/autocomplete-list-keys.html">autocomplete-list-keys</a></li>
<li><a href="../modules/autocomplete-plugin.html">autocomplete-plugin</a></li>
<li><a href="../modules/autocomplete-sources.html">autocomplete-sources</a></li>
<li><a href="../modules/axis.html">axis</a></li>
<li><a href="../modules/axis-base.html">axis-base</a></li>
<li><a href="../modules/axis-category.html">axis-category</a></li>
<li><a href="../modules/axis-category-base.html">axis-category-base</a></li>
<li><a href="../modules/axis-numeric.html">axis-numeric</a></li>
<li><a href="../modules/axis-numeric-base.html">axis-numeric-base</a></li>
<li><a href="../modules/axis-stacked.html">axis-stacked</a></li>
<li><a href="../modules/axis-stacked-base.html">axis-stacked-base</a></li>
<li><a href="../modules/axis-time.html">axis-time</a></li>
<li><a href="../modules/axis-time-base.html">axis-time-base</a></li>
<li><a href="../modules/base.html">base</a></li>
<li><a href="../modules/base-base.html">base-base</a></li>
<li><a href="../modules/base-build.html">base-build</a></li>
<li><a href="../modules/base-core.html">base-core</a></li>
<li><a href="../modules/base-observable.html">base-observable</a></li>
<li><a href="../modules/base-pluginhost.html">base-pluginhost</a></li>
<li><a href="../modules/button.html">button</a></li>
<li><a href="../modules/button-core.html">button-core</a></li>
<li><a href="../modules/button-group.html">button-group</a></li>
<li><a href="../modules/button-plugin.html">button-plugin</a></li>
<li><a href="../modules/cache.html">cache</a></li>
<li><a href="../modules/cache-base.html">cache-base</a></li>
<li><a href="../modules/cache-offline.html">cache-offline</a></li>
<li><a href="../modules/cache-plugin.html">cache-plugin</a></li>
<li><a href="../modules/calendar.html">calendar</a></li>
<li><a href="../modules/calendar-base.html">calendar-base</a></li>
<li><a href="../modules/calendarnavigator.html">calendarnavigator</a></li>
<li><a href="../modules/charts.html">charts</a></li>
<li><a href="../modules/charts-base.html">charts-base</a></li>
<li><a href="../modules/charts-legend.html">charts-legend</a></li>
<li><a href="../modules/classnamemanager.html">classnamemanager</a></li>
<li><a href="../modules/clickable-rail.html">clickable-rail</a></li>
<li><a href="../modules/collection.html">collection</a></li>
<li><a href="../modules/color.html">color</a></li>
<li><a href="../modules/color-base.html">color-base</a></li>
<li><a href="../modules/color-harmony.html">color-harmony</a></li>
<li><a href="../modules/color-hsl.html">color-hsl</a></li>
<li><a href="../modules/color-hsv.html">color-hsv</a></li>
<li><a href="../modules/console.html">console</a></li>
<li><a href="../modules/console-filters.html">console-filters</a></li>
<li><a href="../modules/cookie.html">cookie</a></li>
<li><a href="../modules/createlink-base.html">createlink-base</a></li>
<li><a href="../modules/dataschema.html">dataschema</a></li>
<li><a href="../modules/dataschema-array.html">dataschema-array</a></li>
<li><a href="../modules/dataschema-base.html">dataschema-base</a></li>
<li><a href="../modules/dataschema-json.html">dataschema-json</a></li>
<li><a href="../modules/dataschema-text.html">dataschema-text</a></li>
<li><a href="../modules/dataschema-xml.html">dataschema-xml</a></li>
<li><a href="../modules/datasource.html">datasource</a></li>
<li><a href="../modules/datasource-arrayschema.html">datasource-arrayschema</a></li>
<li><a href="../modules/datasource-cache.html">datasource-cache</a></li>
<li><a href="../modules/datasource-function.html">datasource-function</a></li>
<li><a href="../modules/datasource-get.html">datasource-get</a></li>
<li><a href="../modules/datasource-io.html">datasource-io</a></li>
<li><a href="../modules/datasource-jsonschema.html">datasource-jsonschema</a></li>
<li><a href="../modules/datasource-local.html">datasource-local</a></li>
<li><a href="../modules/datasource-polling.html">datasource-polling</a></li>
<li><a href="../modules/datasource-textschema.html">datasource-textschema</a></li>
<li><a href="../modules/datasource-xmlschema.html">datasource-xmlschema</a></li>
<li><a href="../modules/datatable.html">datatable</a></li>
<li><a href="../modules/datatable-base.html">datatable-base</a></li>
<li><a href="../modules/datatable-body.html">datatable-body</a></li>
<li><a href="../modules/datatable-column-widths.html">datatable-column-widths</a></li>
<li><a href="../modules/datatable-core.html">datatable-core</a></li>
<li><a href="../modules/datatable-datasource.html">datatable-datasource</a></li>
<li><a href="../modules/datatable-formatters.html">datatable-formatters</a></li>
<li><a href="../modules/datatable-head.html">datatable-head</a></li>
<li><a href="../modules/datatable-message.html">datatable-message</a></li>
<li><a href="../modules/datatable-mutable.html">datatable-mutable</a></li>
<li><a href="../modules/datatable-scroll.html">datatable-scroll</a></li>
<li><a href="../modules/datatable-sort.html">datatable-sort</a></li>
<li><a href="../modules/datatable-table.html">datatable-table</a></li>
<li><a href="../modules/datatype.html">datatype</a></li>
<li><a href="../modules/datatype-date.html">datatype-date</a></li>
<li><a href="../modules/datatype-date-format.html">datatype-date-format</a></li>
<li><a href="../modules/datatype-date-math.html">datatype-date-math</a></li>
<li><a href="../modules/datatype-date-parse.html">datatype-date-parse</a></li>
<li><a href="../modules/datatype-number.html">datatype-number</a></li>
<li><a href="../modules/datatype-number-format.html">datatype-number-format</a></li>
<li><a href="../modules/datatype-number-parse.html">datatype-number-parse</a></li>
<li><a href="../modules/datatype-xml.html">datatype-xml</a></li>
<li><a href="../modules/datatype-xml-format.html">datatype-xml-format</a></li>
<li><a href="../modules/datatype-xml-parse.html">datatype-xml-parse</a></li>
<li><a href="../modules/dd.html">dd</a></li>
<li><a href="../modules/dd-constrain.html">dd-constrain</a></li>
<li><a href="../modules/dd-ddm.html">dd-ddm</a></li>
<li><a href="../modules/dd-ddm-base.html">dd-ddm-base</a></li>
<li><a href="../modules/dd-ddm-drop.html">dd-ddm-drop</a></li>
<li><a href="../modules/dd-delegate.html">dd-delegate</a></li>
<li><a href="../modules/dd-drag.html">dd-drag</a></li>
<li><a href="../modules/dd-drop.html">dd-drop</a></li>
<li><a href="../modules/dd-drop-plugin.html">dd-drop-plugin</a></li>
<li><a href="../modules/dd-gestures.html">dd-gestures</a></li>
<li><a href="../modules/dd-plugin.html">dd-plugin</a></li>
<li><a href="../modules/dd-proxy.html">dd-proxy</a></li>
<li><a href="../modules/dd-scroll.html">dd-scroll</a></li>
<li><a href="../modules/dial.html">dial</a></li>
<li><a href="../modules/dom.html">dom</a></li>
<li><a href="../modules/dom-base.html">dom-base</a></li>
<li><a href="../modules/dom-screen.html">dom-screen</a></li>
<li><a href="../modules/dom-style.html">dom-style</a></li>
<li><a href="../modules/dump.html">dump</a></li>
<li><a href="../modules/editor.html">editor</a></li>
<li><a href="../modules/editor-base.html">editor-base</a></li>
<li><a href="../modules/editor-bidi.html">editor-bidi</a></li>
<li><a href="../modules/editor-br.html">editor-br</a></li>
<li><a href="../modules/editor-lists.html">editor-lists</a></li>
<li><a href="../modules/editor-para.html">editor-para</a></li>
<li><a href="../modules/editor-para-base.html">editor-para-base</a></li>
<li><a href="../modules/editor-para-ie.html">editor-para-ie</a></li>
<li><a href="../modules/editor-tab.html">editor-tab</a></li>
<li><a href="../modules/escape.html">escape</a></li>
<li><a href="../modules/event.html">event</a></li>
<li><a href="../modules/event-base.html">event-base</a></li>
<li><a href="../modules/event-contextmenu.html">event-contextmenu</a></li>
<li><a href="../modules/event-custom.html">event-custom</a></li>
<li><a href="../modules/event-custom-base.html">event-custom-base</a></li>
<li><a href="../modules/event-custom-complex.html">event-custom-complex</a></li>
<li><a href="../modules/event-delegate.html">event-delegate</a></li>
<li><a href="../modules/event-flick.html">event-flick</a></li>
<li><a href="../modules/event-focus.html">event-focus</a></li>
<li><a href="../modules/event-gestures.html">event-gestures</a></li>
<li><a href="../modules/event-hover.html">event-hover</a></li>
<li><a href="../modules/event-key.html">event-key</a></li>
<li><a href="../modules/event-mouseenter.html">event-mouseenter</a></li>
<li><a href="../modules/event-mousewheel.html">event-mousewheel</a></li>
<li><a href="../modules/event-move.html">event-move</a></li>
<li><a href="../modules/event-outside.html">event-outside</a></li>
<li><a href="../modules/event-resize.html">event-resize</a></li>
<li><a href="../modules/event-simulate.html">event-simulate</a></li>
<li><a href="../modules/event-synthetic.html">event-synthetic</a></li>
<li><a href="../modules/event-tap.html">event-tap</a></li>
<li><a href="../modules/event-touch.html">event-touch</a></li>
<li><a href="../modules/event-valuechange.html">event-valuechange</a></li>
<li><a href="../modules/exec-command.html">exec-command</a></li>
<li><a href="../modules/features.html">features</a></li>
<li><a href="../modules/file.html">file</a></li>
<li><a href="../modules/file-flash.html">file-flash</a></li>
<li><a href="../modules/file-html5.html">file-html5</a></li>
<li><a href="../modules/frame.html">frame</a></li>
<li><a href="../modules/gesture-simulate.html">gesture-simulate</a></li>
<li><a href="../modules/get.html">get</a></li>
<li><a href="../modules/get-nodejs.html">get-nodejs</a></li>
<li><a href="../modules/graphics.html">graphics</a></li>
<li><a href="../modules/graphics-group.html">graphics-group</a></li>
<li><a href="../modules/handlebars.html">handlebars</a></li>
<li><a href="../modules/handlebars-base.html">handlebars-base</a></li>
<li><a href="../modules/handlebars-compiler.html">handlebars-compiler</a></li>
<li><a href="../modules/highlight.html">highlight</a></li>
<li><a href="../modules/highlight-accentfold.html">highlight-accentfold</a></li>
<li><a href="../modules/highlight-base.html">highlight-base</a></li>
<li><a href="../modules/history.html">history</a></li>
<li><a href="../modules/history-base.html">history-base</a></li>
<li><a href="../modules/history-hash.html">history-hash</a></li>
<li><a href="../modules/history-hash-ie.html">history-hash-ie</a></li>
<li><a href="../modules/history-html5.html">history-html5</a></li>
<li><a href="../modules/imageloader.html">imageloader</a></li>
<li><a href="../modules/intl.html">intl</a></li>
<li><a href="../modules/io.html">io</a></li>
<li><a href="../modules/io-base.html">io-base</a></li>
<li><a href="../modules/io-form.html">io-form</a></li>
<li><a href="../modules/io-nodejs.html">io-nodejs</a></li>
<li><a href="../modules/io-queue.html">io-queue</a></li>
<li><a href="../modules/io-upload-iframe.html">io-upload-iframe</a></li>
<li><a href="../modules/io-xdr.html">io-xdr</a></li>
<li><a href="../modules/json.html">json</a></li>
<li><a href="../modules/json-parse.html">json-parse</a></li>
<li><a href="../modules/json-stringify.html">json-stringify</a></li>
<li><a href="../modules/jsonp.html">jsonp</a></li>
<li><a href="../modules/jsonp-url.html">jsonp-url</a></li>
<li><a href="../modules/lazy-model-list.html">lazy-model-list</a></li>
<li><a href="../modules/loader.html">loader</a></li>
<li><a href="../modules/loader-base.html">loader-base</a></li>
<li><a href="../modules/loader-yui3.html">loader-yui3</a></li>
<li><a href="../modules/matrix.html">matrix</a></li>
<li><a href="../modules/model.html">model</a></li>
<li><a href="../modules/model-list.html">model-list</a></li>
<li><a href="../modules/model-sync-rest.html">model-sync-rest</a></li>
<li><a href="../modules/node.html">node</a></li>
<li><a href="../modules/node-base.html">node-base</a></li>
<li><a href="../modules/node-core.html">node-core</a></li>
<li><a href="../modules/node-data.html">node-data</a></li>
<li><a href="../modules/node-event-delegate.html">node-event-delegate</a></li>
<li><a href="../modules/node-event-html5.html">node-event-html5</a></li>
<li><a href="../modules/node-event-simulate.html">node-event-simulate</a></li>
<li><a href="../modules/node-flick.html">node-flick</a></li>
<li><a href="../modules/node-focusmanager.html">node-focusmanager</a></li>
<li><a href="../modules/node-load.html">node-load</a></li>
<li><a href="../modules/node-menunav.html">node-menunav</a></li>
<li><a href="../modules/node-pluginhost.html">node-pluginhost</a></li>
<li><a href="../modules/node-screen.html">node-screen</a></li>
<li><a href="../modules/node-scroll-info.html">node-scroll-info</a></li>
<li><a href="../modules/node-style.html">node-style</a></li>
<li><a href="../modules/oop.html">oop</a></li>
<li><a href="../modules/overlay.html">overlay</a></li>
<li><a href="../modules/panel.html">panel</a></li>
<li><a href="../modules/parallel.html">parallel</a></li>
<li><a href="../modules/pjax.html">pjax</a></li>
<li><a href="../modules/pjax-base.html">pjax-base</a></li>
<li><a href="../modules/pjax-content.html">pjax-content</a></li>
<li><a href="../modules/pjax-plugin.html">pjax-plugin</a></li>
<li><a href="../modules/plugin.html">plugin</a></li>
<li><a href="../modules/pluginhost.html">pluginhost</a></li>
<li><a href="../modules/pluginhost-base.html">pluginhost-base</a></li>
<li><a href="../modules/pluginhost-config.html">pluginhost-config</a></li>
<li><a href="../modules/promise.html">promise</a></li>
<li><a href="../modules/querystring.html">querystring</a></li>
<li><a href="../modules/querystring-parse.html">querystring-parse</a></li>
<li><a href="../modules/querystring-parse-simple.html">querystring-parse-simple</a></li>
<li><a href="../modules/querystring-stringify.html">querystring-stringify</a></li>
<li><a href="../modules/querystring-stringify-simple.html">querystring-stringify-simple</a></li>
<li><a href="../modules/queue-promote.html">queue-promote</a></li>
<li><a href="../modules/range-slider.html">range-slider</a></li>
<li><a href="../modules/recordset.html">recordset</a></li>
<li><a href="../modules/recordset-base.html">recordset-base</a></li>
<li><a href="../modules/recordset-filter.html">recordset-filter</a></li>
<li><a href="../modules/recordset-indexer.html">recordset-indexer</a></li>
<li><a href="../modules/recordset-sort.html">recordset-sort</a></li>
<li><a href="../modules/resize.html">resize</a></li>
<li><a href="../modules/resize-contrain.html">resize-contrain</a></li>
<li><a href="../modules/resize-plugin.html">resize-plugin</a></li>
<li><a href="../modules/resize-proxy.html">resize-proxy</a></li>
<li><a href="../modules/rollup.html">rollup</a></li>
<li><a href="../modules/router.html">router</a></li>
<li><a href="../modules/scrollview.html">scrollview</a></li>
<li><a href="../modules/scrollview-base.html">scrollview-base</a></li>
<li><a href="../modules/scrollview-base-ie.html">scrollview-base-ie</a></li>
<li><a href="../modules/scrollview-list.html">scrollview-list</a></li>
<li><a href="../modules/scrollview-paginator.html">scrollview-paginator</a></li>
<li><a href="../modules/scrollview-scrollbars.html">scrollview-scrollbars</a></li>
<li><a href="../modules/selection.html">selection</a></li>
<li><a href="../modules/selector-css2.html">selector-css2</a></li>
<li><a href="../modules/selector-css3.html">selector-css3</a></li>
<li><a href="../modules/selector-native.html">selector-native</a></li>
<li><a href="../modules/series-area.html">series-area</a></li>
<li><a href="../modules/series-area-stacked.html">series-area-stacked</a></li>
<li><a href="../modules/series-areaspline.html">series-areaspline</a></li>
<li><a href="../modules/series-areaspline-stacked.html">series-areaspline-stacked</a></li>
<li><a href="../modules/series-bar.html">series-bar</a></li>
<li><a href="../modules/series-bar-stacked.html">series-bar-stacked</a></li>
<li><a href="../modules/series-base.html">series-base</a></li>
<li><a href="../modules/series-candlestick.html">series-candlestick</a></li>
<li><a href="../modules/series-cartesian.html">series-cartesian</a></li>
<li><a href="../modules/series-column.html">series-column</a></li>
<li><a href="../modules/series-column-stacked.html">series-column-stacked</a></li>
<li><a href="../modules/series-combo.html">series-combo</a></li>
<li><a href="../modules/series-combo-stacked.html">series-combo-stacked</a></li>
<li><a href="../modules/series-combospline.html">series-combospline</a></li>
<li><a href="../modules/series-combospline-stacked.html">series-combospline-stacked</a></li>
<li><a href="../modules/series-curve-util.html">series-curve-util</a></li>
<li><a href="../modules/series-fill-util.html">series-fill-util</a></li>
<li><a href="../modules/series-histogram.html">series-histogram</a></li>
<li><a href="../modules/series-line.html">series-line</a></li>
<li><a href="../modules/series-line-stacked.html">series-line-stacked</a></li>
<li><a href="../modules/series-line-util.html">series-line-util</a></li>
<li><a href="../modules/series-marker.html">series-marker</a></li>
<li><a href="../modules/series-marker-stacked.html">series-marker-stacked</a></li>
<li><a href="../modules/series-ohlc.html">series-ohlc</a></li>
<li><a href="../modules/series-pie.html">series-pie</a></li>
<li><a href="../modules/series-plot-util.html">series-plot-util</a></li>
<li><a href="../modules/series-range.html">series-range</a></li>
<li><a href="../modules/series-spline.html">series-spline</a></li>
<li><a href="../modules/series-spline-stacked.html">series-spline-stacked</a></li>
<li><a href="../modules/series-stacked.html">series-stacked</a></li>
<li><a href="../modules/shim-plugin.html">shim-plugin</a></li>
<li><a href="../modules/slider.html">slider</a></li>
<li><a href="../modules/slider-base.html">slider-base</a></li>
<li><a href="../modules/slider-value-range.html">slider-value-range</a></li>
<li><a href="../modules/sortable.html">sortable</a></li>
<li><a href="../modules/sortable-scroll.html">sortable-scroll</a></li>
<li><a href="../modules/stylesheet.html">stylesheet</a></li>
<li><a href="../modules/substitute.html">substitute</a></li>
<li><a href="../modules/swf.html">swf</a></li>
<li><a href="../modules/swfdetect.html">swfdetect</a></li>
<li><a href="../modules/tabview.html">tabview</a></li>
<li><a href="../modules/template.html">template</a></li>
<li><a href="../modules/template-base.html">template-base</a></li>
<li><a href="../modules/template-micro.html">template-micro</a></li>
<li><a href="../modules/test.html">test</a></li>
<li><a href="../modules/test-console.html">test-console</a></li>
<li><a href="../modules/text.html">text</a></li>
<li><a href="../modules/text-accentfold.html">text-accentfold</a></li>
<li><a href="../modules/text-wordbreak.html">text-wordbreak</a></li>
<li><a href="../modules/timers.html">timers</a></li>
<li><a href="../modules/transition.html">transition</a></li>
<li><a href="../modules/transition-timer.html">transition-timer</a></li>
<li><a href="../modules/tree.html">tree</a></li>
<li><a href="../modules/tree-labelable.html">tree-labelable</a></li>
<li><a href="../modules/tree-lazy.html">tree-lazy</a></li>
<li><a href="../modules/tree-node.html">tree-node</a></li>
<li><a href="../modules/tree-openable.html">tree-openable</a></li>
<li><a href="../modules/tree-selectable.html">tree-selectable</a></li>
<li><a href="../modules/tree-sortable.html">tree-sortable</a></li>
<li><a href="../modules/uploader.html">uploader</a></li>
<li><a href="../modules/uploader-flash.html">uploader-flash</a></li>
<li><a href="../modules/uploader-html5.html">uploader-html5</a></li>
<li><a href="../modules/uploader-queue.html">uploader-queue</a></li>
<li><a href="../modules/view.html">view</a></li>
<li><a href="../modules/view-node-map.html">view-node-map</a></li>
<li><a href="../modules/widget.html">widget</a></li>
<li><a href="../modules/widget-anim.html">widget-anim</a></li>
<li><a href="../modules/widget-autohide.html">widget-autohide</a></li>
<li><a href="../modules/widget-base.html">widget-base</a></li>
<li><a href="../modules/widget-base-ie.html">widget-base-ie</a></li>
<li><a href="../modules/widget-buttons.html">widget-buttons</a></li>
<li><a href="../modules/widget-child.html">widget-child</a></li>
<li><a href="../modules/widget-htmlparser.html">widget-htmlparser</a></li>
<li><a href="../modules/widget-locale.html">widget-locale</a></li>
<li><a href="../modules/widget-modality.html">widget-modality</a></li>
<li><a href="../modules/widget-parent.html">widget-parent</a></li>
<li><a href="../modules/widget-position.html">widget-position</a></li>
<li><a href="../modules/widget-position-align.html">widget-position-align</a></li>
<li><a href="../modules/widget-position-constrain.html">widget-position-constrain</a></li>
<li><a href="../modules/widget-skin.html">widget-skin</a></li>
<li><a href="../modules/widget-stack.html">widget-stack</a></li>
<li><a href="../modules/widget-stdmod.html">widget-stdmod</a></li>
<li><a href="../modules/widget-uievents.html">widget-uievents</a></li>
<li><a href="../modules/yql.html">yql</a></li>
<li><a href="../modules/yql-jsonp.html">yql-jsonp</a></li>
<li><a href="../modules/yql-nodejs.html">yql-nodejs</a></li>
<li><a href="../modules/yql-winjs.html">yql-winjs</a></li>
<li><a href="../modules/yui.html">yui</a></li>
<li><a href="../modules/yui-base.html">yui-base</a></li>
<li><a href="../modules/yui-later.html">yui-later</a></li>
<li><a href="../modules/yui-log.html">yui-log</a></li>
<li><a href="../modules/yui-throttle.html">yui-throttle</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="yui3-u-3-4">
<div id="api-options">
Show:
<label for="api-show-inherited">
<input type="checkbox" id="api-show-inherited" checked>
Inherited
</label>
<label for="api-show-protected">
<input type="checkbox" id="api-show-protected">
Protected
</label>
<label for="api-show-private">
<input type="checkbox" id="api-show-private">
Private
</label>
<label for="api-show-deprecated">
<input type="checkbox" id="api-show-deprecated">
Deprecated
</label>
</div>
<div class="apidocs">
<div id="docs-main">
<div class="content">
<h1>Model Class</h1>
<div class="box meta">
<div class="extends">
Extends <a href="../classes/Base.html" class="crosslink">Base</a>
</div>
<div class="foundat">
Defined in: <a href="../files/app_js_model.js.html#l10"><code>app/js/model.js:10</code></a>
</div>
Module: <a href="../modules/model.html">model</a><br>
Parent Module: <a href="../modules/app.html">app</a>
<p>Available since 3.4.0</p>
</div>
<div class="box intro">
<p>Attribute-based data model with APIs for getting, setting, validating, and
syncing attribute values, as well as events for being notified of model changes.</p>
<p>In most cases, you'll want to create your own subclass of <code>Y.Model</code> and
customize it to meet your needs. In particular, the <code>sync()</code> and <code>validate()</code>
methods are meant to be overridden by custom implementations. You may also want
to override the <code>parse()</code> method to parse non-generic server responses.</p>
</div>
<div class="constructor">
<h2>Constructor</h2>
<div id="method_Model" class="method item">
<h3 class="name"><code>Model</code></h3>
<span class="paren">()</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l10"><code>app/js/model.js:10</code></a>
</p>
<p>Available since 3.4.0</p>
</div>
<div class="description">
</div>
</div>
</div>
<div id="classdocs" class="tabview">
<ul class="api-class-tabs">
<li class="api-class-tab index"><a href="#index">Index</a></li>
<li class="api-class-tab methods"><a href="#methods">Methods</a></li>
<li class="api-class-tab properties"><a href="#properties">Properties</a></li>
<li class="api-class-tab attrs"><a href="#attrs">Attributes</a></li>
<li class="api-class-tab events"><a href="#events">Events</a></li>
</ul>
<div>
<div id="index" class="api-class-tabpanel index">
<h2 class="off-left">Item Index</h2>
<div class="index-section methods">
<h3>Methods</h3>
<ul class="index-list methods extends">
<li class="index-item method private inherited">
<a href="#method__addAttrs">_addAttrs</a>
</li>
<li class="index-item method private inherited">
<a href="#method__addLazyAttr">_addLazyAttr</a>
</li>
<li class="index-item method private inherited">
<a href="#method__aggregateAttrs">_aggregateAttrs</a>
</li>
<li class="index-item method private inherited">
<a href="#method__attrCfgHash">_attrCfgHash</a>
</li>
<li class="index-item method private inherited">
<a href="#method__baseDestroy">_baseDestroy</a>
</li>
<li class="index-item method private inherited">
<a href="#method__baseInit">_baseInit</a>
</li>
<li class="index-item method private inherited">
<a href="#method__cloneDefaultValue">_cloneDefaultValue</a>
</li>
<li class="index-item method protected inherited">
<a href="#method__defAttrChangeFn">_defAttrChangeFn</a>
</li>
<li class="index-item method protected inherited">
<a href="#method__defDestroyFn">_defDestroyFn</a>
</li>
<li class="index-item method protected inherited">
<a href="#method__defInitFn">_defInitFn</a>
</li>
<li class="index-item method private inherited">
<a href="#method__destroyHierarchy">_destroyHierarchy</a>
</li>
<li class="index-item method private inherited">
<a href="#method__filterAdHocAttrs">_filterAdHocAttrs</a>
</li>
<li class="index-item method private inherited">
<a href="#method__filterAttrCfgs">_filterAttrCfgs</a>
</li>
<li class="index-item method private inherited">
<a href="#method__fireAttrChange">_fireAttrChange</a>
</li>
<li class="index-item method protected inherited">
<a href="#method__getAttr">_getAttr</a>
</li>
<li class="index-item method protected inherited">
<a href="#method__getAttrCfg">_getAttrCfg</a>
</li>
<li class="index-item method protected inherited">
<a href="#method__getAttrCfgs">_getAttrCfgs</a>
</li>
<li class="index-item method private inherited">
<a href="#method__getAttrInitVal">_getAttrInitVal</a>
</li>
<li class="index-item method protected inherited">
<a href="#method__getAttrs">_getAttrs</a>
</li>
<li class="index-item method protected inherited">
<a href="#method__getClasses">_getClasses</a>
</li>
<li class="index-item method private inherited">
<a href="#method__getFullType">_getFullType</a>
</li>
<li class="index-item method private inherited">
<a href="#method__getStateVal">_getStateVal</a>
</li>
<li class="index-item method private inherited">
<a href="#method__getType">_getType</a>
</li>
<li class="index-item method private inherited">
<a href="#method__initAttrHost">_initAttrHost</a>
</li>
<li class="index-item method private inherited inherited">
<a href="#method__initAttribute">_initAttribute</a>
</li>
<li class="index-item method protected inherited">
<a href="#method__initAttrs">_initAttrs</a>
</li>
<li class="index-item method private inherited">
<a href="#method__initBase">_initBase</a>
</li>
<li class="index-item method private inherited">
<a href="#method__initHierarchy">_initHierarchy</a>
</li>
<li class="index-item method private inherited">
<a href="#method__initHierarchyData">_initHierarchyData</a>
</li>
<li class="index-item method private inherited">
<a href="#method__isLazyAttr">_isLazyAttr</a>
</li>
<li class="index-item method private inherited">
<a href="#method__monitor">_monitor</a>
</li>
<li class="index-item method private inherited">
<a href="#method__normAttrVals">_normAttrVals</a>
</li>
<li class="index-item method protected">
<a href="#method__parse">_parse</a>
</li>
<li class="index-item method private inherited">
<a href="#method__parseType">_parseType</a>
</li>
<li class="index-item method private inherited">
<a href="#method__preInitEventCfg">_preInitEventCfg</a>
</li>
<li class="index-item method protected deprecated inherited">
<a href="#method__protectAttrs">_protectAttrs</a>
<span class="flag deprecated">deprecated</span>
</li>
<li class="index-item method private inherited">
<a href="#method__publish">_publish</a>
</li>
<li class="index-item method protected inherited inherited">
<a href="#method__set">_set</a>
</li>
<li class="index-item method protected inherited">
<a href="#method__setAttr">_setAttr</a>
</li>
<li class="index-item method protected inherited inherited">
<a href="#method__setAttrs">_setAttrs</a>
</li>
<li class="index-item method private inherited">
<a href="#method__setAttrVal">_setAttrVal</a>
</li>
<li class="index-item method private inherited">
<a href="#method__setStateVal">_setStateVal</a>
</li>
<li class="index-item method protected">
<a href="#method__validate">_validate</a>
</li>
<li class="index-item method protected inherited">
<a href="#method_addAttr">addAttr</a>
</li>
<li class="index-item method inherited">
<a href="#method_addAttrs">addAttrs</a>
</li>
<li class="index-item method inherited">
<a href="#method_addTarget">addTarget</a>
</li>
<li class="index-item method inherited">
<a href="#method_after">after</a>
</li>
<li class="index-item method inherited">
<a href="#method_attrAdded">attrAdded</a>
</li>
<li class="index-item method inherited">
<a href="#method_before">before</a>
</li>
<li class="index-item method inherited">
<a href="#method_bubble">bubble</a>
</li>
<li class="index-item method inherited">
<a href="#method_destroy">destroy</a>
</li>
<li class="index-item method inherited">
<a href="#method_detach">detach</a>
</li>
<li class="index-item method inherited">
<a href="#method_detachAll">detachAll</a>
</li>
<li class="index-item method inherited">
<a href="#method_fire">fire</a>
</li>
<li class="index-item method">
<a href="#method_generateClientId">generateClientId</a>
</li>
<li class="index-item method inherited">
<a href="#method_get">get</a>
</li>
<li class="index-item method">
<a href="#method_getAsHTML">getAsHTML</a>
</li>
<li class="index-item method">
<a href="#method_getAsURL">getAsURL</a>
</li>
<li class="index-item method inherited">
<a href="#method_getAttrs">getAttrs</a>
</li>
<li class="index-item method inherited">
<a href="#method_getEvent">getEvent</a>
</li>
<li class="index-item method inherited">
<a href="#method_getTargets">getTargets</a>
</li>
<li class="index-item method inherited inherited">
<a href="#method_init">init</a>
</li>
<li class="index-item method">
<a href="#method_isModified">isModified</a>
</li>
<li class="index-item method">
<a href="#method_isNew">isNew</a>
</li>
<li class="index-item method">
<a href="#method_load">load</a>
</li>
<li class="index-item method inherited">
<a href="#method_modifyAttr">modifyAttr</a>
</li>
<li class="index-item method inherited">
<a href="#method_on">on</a>
</li>
<li class="index-item method inherited">
<a href="#method_once">once</a>
</li>
<li class="index-item method inherited">
<a href="#method_onceAfter">onceAfter</a>
</li>
<li class="index-item method">
<a href="#method_parse">parse</a>
</li>
<li class="index-item method inherited">
<a href="#method_parseType">parseType</a>
</li>
<li class="index-item method inherited">
<a href="#method_publish">publish</a>
</li>
<li class="index-item method inherited">
<a href="#method_removeAttr">removeAttr</a>
</li>
<li class="index-item method inherited">
<a href="#method_removeTarget">removeTarget</a>
</li>
<li class="index-item method inherited">
<a href="#method_reset">reset</a>
</li>
<li class="index-item method">
<a href="#method_save">save</a>
</li>
<li class="index-item method inherited">
<a href="#method_set">set</a>
</li>
<li class="index-item method inherited">
<a href="#method_setAttrs">setAttrs</a>
</li>
<li class="index-item method deprecated inherited">
<a href="#method_subscribe">subscribe</a>
<span class="flag deprecated">deprecated</span>
</li>
<li class="index-item method">
<a href="#method_sync">sync</a>
</li>
<li class="index-item method">
<a href="#method_toJSON">toJSON</a>
</li>
<li class="index-item method inherited">
<a href="#method_toString">toString</a>
</li>
<li class="index-item method">
<a href="#method_undo">undo</a>
</li>
<li class="index-item method deprecated inherited">
<a href="#method_unsubscribe">unsubscribe</a>
<span class="flag deprecated">deprecated</span>
</li>
<li class="index-item method deprecated inherited">
<a href="#method_unsubscribeAll">unsubscribeAll</a>
<span class="flag deprecated">deprecated</span>
</li>
<li class="index-item method">
<a href="#method_validate">validate</a>
</li>
</ul>
</div>
<div class="index-section properties">
<h3>Properties</h3>
<ul class="index-list properties extends">
<li class="index-item property protected inherited">
<a href="#property__allowAdHocAttrs">_allowAdHocAttrs</a>
</li>
<li class="index-item property protected">
<a href="#property__isYUIModel">_isYUIModel</a>
</li>
<li class="index-item property">
<a href="#property_changed">changed</a>
</li>
<li class="index-item property">
<a href="#property_idAttribute">idAttribute</a>
</li>
<li class="index-item property">
<a href="#property_lastChange">lastChange</a>
</li>
<li class="index-item property">
<a href="#property_lists">lists</a>
</li>
<li class="index-item property deprecated inherited">
<a href="#property_name">name</a>
<span class="flag deprecated">deprecated</span>
</li>
</ul>
</div>
<div class="index-section attrs">
<h3>Attributes</h3>
<ul class="index-list attrs extends">
<li class="index-item attr">
<a href="#attr_clientId">clientId</a>
</li>
<li class="index-item attr inherited">
<a href="#attr_destroyed">destroyed</a>
</li>
<li class="index-item attr">
<a href="#attr_id">id</a>
</li>
<li class="index-item attr inherited">
<a href="#attr_initialized">initialized</a>
</li>
</ul>
</div>
<div class="index-section events">
<h3>Events</h3>
<ul class="index-list events extends">
<li class="index-item event">
<a href="#event_change">change</a>
</li>
<li class="index-item event inherited">
<a href="#event_destroy">destroy</a>
</li>
<li class="index-item event">
<a href="#event_error">error</a>
</li>
<li class="index-item event inherited">
<a href="#event_init">init</a>
</li>
<li class="index-item event">
<a href="#event_load">load</a>
</li>
<li class="index-item event">
<a href="#event_save">save</a>
</li>
</ul>
</div>
</div>
<div id="methods" class="api-class-tabpanel">
<h2 class="off-left">Methods</h2>
<div id="method__addAttrs" class="method item private inherited">
<h3 class="name"><code>_addAttrs</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>cfgs</code>
</li>
<li class="arg">
<code>values</code>
</li>
<li class="arg">
<code>lazy</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__addAttrs">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l836"><code>attribute/js/AttributeCore.js:836</code></a>
</p>
</div>
<div class="description">
<p>Implementation behind the public addAttrs method.</p>
<p>This method is invoked directly by get if it encounters a scenario
in which an attribute's valueFn attempts to obtain the
value an attribute in the same group of attributes, which has not yet
been added (on demand initialization).</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">cfgs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>An object with attribute name/configuration pairs.</p>
</div>
</li>
<li class="param">
<code class="param-name">values</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>An object with attribute name/value pairs, defining the initial values to apply.
Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only.</p>
</div>
</li>
<li class="param">
<code class="param-name">lazy</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<div class="param-description">
<p>Whether or not to delay the intialization of these attributes until the first call to get/set.
Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration.
See <a href="#method_addAttr">addAttr</a>.</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__addLazyAttr" class="method item private inherited">
<h3 class="name"><code>_addLazyAttr</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
<li class="arg">
<code class="optional">[lazyCfg]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__addLazyAttr">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l382"><code>attribute/js/AttributeCore.js:382</code></a>
</p>
</div>
<div class="description">
<p>Finishes initializing an attribute which has been lazily added.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The name of the attribute</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[lazyCfg]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Optional config hash for the attribute. This is added for performance
along the critical path, where the calling method has already obtained lazy config from state.</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__aggregateAttrs" class="method item private inherited">
<h3 class="name"><code>_aggregateAttrs</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>allAttrs</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__aggregateAttrs">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l575"><code>base/js/BaseCore.js:575</code></a>
</p>
</div>
<div class="description">
<p>A helper method, used by _initHierarchyData to aggregate
attribute configuration across the instances class hierarchy.</p>
<p>The method will protect the attribute configuration value to protect the statically defined
default value in ATTRS if required (if the value is an object literal, array or the
attribute configuration has cloneDefaultValue set to shallow or deep).</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">allAttrs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array" class="crosslink external" target="_blank">Array</a></span>
<div class="param-description">
<p>An array of ATTRS definitions across classes in the hierarchy
(subclass first, Base last)</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
The aggregate set of ATTRS definitions for the instance
</div>
</div>
</div>
<div id="method__attrCfgHash" class="method item private inherited">
<h3 class="name"><code>_attrCfgHash</code></h3>
<span class="paren">()</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__attrCfgHash">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l538"><code>base/js/BaseCore.js:538</code></a>
</p>
</div>
<div class="description">
<p>Utility method to define the attribute hash used to filter/whitelist property mixes for
this class for iteration performance reasons.</p>
</div>
</div>
<div id="method__baseDestroy" class="method item private inherited">
<h3 class="name"><code>_baseDestroy</code></h3>
<span class="paren">()</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__baseDestroy">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l309"><code>base/js/BaseCore.js:309</code></a>
</p>
</div>
<div class="description">
<p>Internal destroy implementation for BaseCore</p>
</div>
</div>
<div id="method__baseInit" class="method item private inherited">
<h3 class="name"><code>_baseInit</code></h3>
<span class="paren">()</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__baseInit">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l281"><code>base/js/BaseCore.js:281</code></a>
</p>
</div>
<div class="description">
<p>Internal initialization implementation for BaseCore</p>
</div>
</div>
<div id="method__cloneDefaultValue" class="method item private inherited">
<h3 class="name"><code>_cloneDefaultValue</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>cfg</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__cloneDefaultValue">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l549"><code>base/js/BaseCore.js:549</code></a>
</p>
</div>
<div class="description">
<p>This method assumes that the value has already been checked to be an object.
Since it's on a critical path, we don't want to re-do the check.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">cfg</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
</div>
</li>
</ul>
</div>
</div>
<div id="method__defAttrChangeFn" class="method item protected">
<h3 class="name"><code>_defAttrChangeFn</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>e</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag protected">protected</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeObservable.html#method__defAttrChangeFn">
AttributeObservable
</a>
but overwritten in
<a href="../files/app_js_model.js.html#l926"><code>app/js/model.js:926</code></a>
</p>
</div>
<div class="description">
<p>Duckpunches the <code>_defAttrChangeFn()</code> provided by <code>Y.Attribute</code> so we can
have a single global notification when a change event occurs.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">e</code>
<span class="type"><a href="../classes/EventFacade.html" class="crosslink">EventFacade</a></span>
<div class="param-description">
</div>
</li>
</ul>
</div>
</div>
<div id="method__defDestroyFn" class="method item protected inherited">
<h3 class="name"><code>_defDestroyFn</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>e</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag protected">protected</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseObservable.html#method__defDestroyFn">BaseObservable</a>:
<a href="../files/base_js_BaseObservable.js.html#l190"><code>base/js/BaseObservable.js:190</code></a>
</p>
</div>
<div class="description">
<p>Default destroy event handler</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">e</code>
<span class="type"><a href="../classes/EventFacade.html" class="crosslink">EventFacade</a></span>
<div class="param-description">
<p>Event object</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__defInitFn" class="method item protected inherited">
<h3 class="name"><code>_defInitFn</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>e</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag protected">protected</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseObservable.html#method__defInitFn">BaseObservable</a>:
<a href="../files/base_js_BaseObservable.js.html#l178"><code>base/js/BaseObservable.js:178</code></a>
</p>
</div>
<div class="description">
<p>Default init event handler</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">e</code>
<span class="type"><a href="../classes/EventFacade.html" class="crosslink">EventFacade</a></span>
<div class="param-description">
<p>Event object, with a cfg property which
refers to the configuration object passed to the constructor.</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__destroyHierarchy" class="method item private inherited">
<h3 class="name"><code>_destroyHierarchy</code></h3>
<span class="paren">()</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__destroyHierarchy">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l721"><code>base/js/BaseCore.js:721</code></a>
</p>
</div>
<div class="description">
<p>Destroys the class hierarchy for this instance by invoking
the destructor method on the prototype of each class in the hierarchy.</p>
</div>
</div>
<div id="method__filterAdHocAttrs" class="method item private inherited">
<h3 class="name"><code>_filterAdHocAttrs</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>allAttrs</code>
</li>
<li class="arg">
<code>userVals</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__filterAdHocAttrs">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l427"><code>base/js/BaseCore.js:427</code></a>
</p>
</div>
<div class="description">
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">allAttrs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The set of all attribute configurations for this instance.
Attributes will be removed from this set, if they belong to the filtered class, so
that by the time all classes are processed, allCfgs will be empty.</p>
</div>
</li>
<li class="param">
<code class="param-name">userVals</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The config object passed in by the user, from which adhoc attrs are to be filtered.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
The set of adhoc attributes passed in, in the form
of an object with attribute name/configuration pairs.
</div>
</div>
</div>
<div id="method__filterAttrCfgs" class="method item private inherited">
<h3 class="name"><code>_filterAttrCfgs</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>clazz</code>
</li>
<li class="arg">
<code>allCfgs</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__filterAttrCfgs">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l356"><code>base/js/BaseCore.js:356</code></a>
</p>
</div>
<div class="description">
<p>A helper method used when processing ATTRS across the class hierarchy during
initialization. Returns a disposable object with the attributes defined for
the provided class, extracted from the set of all attributes passed in.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">clazz</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function</a></span>
<div class="param-description">
<p>The class for which the desired attributes are required.</p>
</div>
</li>
<li class="param">
<code class="param-name">allCfgs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The set of all attribute configurations for this instance.
Attributes will be removed from this set, if they belong to the filtered class, so
that by the time all classes are processed, allCfgs will be empty.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
The set of attributes belonging to the class passed in, in the form
of an object with attribute name/configuration pairs.
</div>
</div>
</div>
<div id="method__fireAttrChange" class="method item private inherited">
<h3 class="name"><code>_fireAttrChange</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attrName</code>
</li>
<li class="arg">
<code>subAttrName</code>
</li>
<li class="arg">
<code>currVal</code>
</li>
<li class="arg">
<code>newVal</code>
</li>
<li class="arg">
<code>opts</code>
</li>
<li class="arg">
<code class="optional">[cfg]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeObservable.html#method__fireAttrChange">AttributeObservable</a>:
<a href="../files/attribute_js_AttributeObservable.js.html#l120"><code>attribute/js/AttributeObservable.js:120</code></a>
</p>
</div>
<div class="description">
<p>Utility method to help setup the event payload and fire the attribute change event.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute</p>
</div>
</li>
<li class="param">
<code class="param-name">subAttrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The full path of the property being changed,
if this is a sub-attribute value being change. Otherwise null.</p>
</div>
</li>
<li class="param">
<code class="param-name">currVal</code>
<span class="type">Any</span>
<div class="param-description">
<p>The current value of the attribute</p>
</div>
</li>
<li class="param">
<code class="param-name">newVal</code>
<span class="type">Any</span>
<div class="param-description">
<p>The new value of the attribute</p>
</div>
</li>
<li class="param">
<code class="param-name">opts</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>Any additional event data to mix into the attribute change event's event facade.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[cfg]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>The attribute config stored in State, if already available.</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__getAttr" class="method item protected inherited">
<h3 class="name"><code>_getAttr</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Any</span>
</span>
<span class="flag protected">protected</span>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__getAttr">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l543"><code>attribute/js/AttributeCore.js:543</code></a>
</p>
</div>
<div class="description">
<p>Provides the common implementation for the public get method,
allowing Attribute hosts to over-ride either method.</p>
<p>See <a href="#method_get">get</a> for argument details.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Any</span>:
The value of the attribute.
</div>
</div>
</div>
<div id="method__getAttrCfg" class="method item protected inherited">
<h3 class="name"><code>_getAttrCfg</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag protected">protected</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeExtras.html#method__getAttrCfg">AttributeExtras</a>:
<a href="../files/attribute_js_AttributeExtras.js.html#l114"><code>attribute/js/AttributeExtras.js:114</code></a>
</p>
</div>
<div class="description">
<p>Returns an object with the configuration properties (and value)
for the given attribute. If attrName is not provided, returns the
configuration properties for all attributes.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>Optional. The attribute name. If not provided, the method will return the configuration for all attributes.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
The configuration properties for the given attribute, or all attributes.
</div>
</div>
</div>
<div id="method__getAttrCfgs" class="method item protected inherited">
<h3 class="name"><code>_getAttrCfgs</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag protected">protected</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__getAttrCfgs">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l339"><code>base/js/BaseCore.js:339</code></a>
</p>
</div>
<div class="description">
<p>Returns an aggregated set of attribute configurations, by traversing
the class hierarchy.</p>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
The hash of attribute configurations, aggregated across classes in the hierarchy
This value is cached the first time the method, or _getClasses, is invoked. Subsequent invocations return
the cached value.
</div>
</div>
</div>
<div id="method__getAttrInitVal" class="method item private inherited">
<h3 class="name"><code>_getAttrInitVal</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attr</code>
</li>
<li class="arg">
<code>cfg</code>
</li>
<li class="arg">
<code>initValues</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Any</span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__getAttrInitVal">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l945"><code>attribute/js/AttributeCore.js:945</code></a>
</p>
</div>
<div class="description">
<p>Returns the initial value of the given attribute from
either the default configuration provided, or the
over-ridden value if it exists in the set of initValues
provided and the attribute is not read-only.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attr</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute</p>
</div>
</li>
<li class="param">
<code class="param-name">cfg</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The attribute configuration object</p>
</div>
</li>
<li class="param">
<code class="param-name">initValues</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The object with simple and complex attribute name/value pairs returned from _normAttrVals</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Any</span>:
The initial value of the attribute.
</div>
</div>
</div>
<div id="method__getAttrs" class="method item protected inherited">
<h3 class="name"><code>_getAttrs</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attrs</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag protected">protected</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__getAttrs">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l774"><code>attribute/js/AttributeCore.js:774</code></a>
</p>
</div>
<div class="description">
<p>Implementation behind the public getAttrs method, to get multiple attribute values.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attrs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array" class="crosslink external" target="_blank">Array</a> | boolean</span>
<div class="param-description">
<p>Optional. An array of attribute names. If omitted, all attribute values are
returned. If set to true, all attributes modified from their initial values are returned.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
An object with attribute name/value pairs.
</div>
</div>
</div>
<div id="method__getClasses" class="method item protected inherited">
<h3 class="name"><code>_getClasses</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function[]</a></span>
</span>
<span class="flag protected">protected</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__getClasses">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l323"><code>base/js/BaseCore.js:323</code></a>
</p>
</div>
<div class="description">
<p>Returns the class hierarchy for this object, with BaseCore being the last class in the array.</p>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function[]</a></span>:
An array of classes (constructor functions), making up the class hierarchy for this object.
This value is cached the first time the method, or _getAttrCfgs, is invoked. Subsequent invocations return the
cached value.
</div>
</div>
</div>
<div id="method__getFullType" class="method item private inherited">
<h3 class="name"><code>_getFullType</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method__getFullType">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l586"><code>event-custom/js/event-target.js:586</code></a>
</p>
</div>
<div class="description">
<p>Returns the fully qualified type, given a short type string.
That is, returns "foo:bar" when given "bar" if "foo" is the configured prefix.</p>
<p>NOTE: This method, unlike _getType, does no checking of the value passed in, and
is designed to be used with the low level _publish() method, for critical path
implementations which need to fast-track publish for performance reasons.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The short type to prefix</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>:
The prefixed type, if a prefix is set, otherwise the type passed in
</div>
</div>
</div>
<div id="method__getStateVal" class="method item private inherited">
<h3 class="name"><code>_getStateVal</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
<li class="arg">
<code class="optional">[cfg]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Any</span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__getStateVal">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l600"><code>attribute/js/AttributeCore.js:600</code></a>
</p>
</div>
<div class="description">
<p>Gets the stored value for the attribute, from either the
internal state object, or the state proxy if it exits</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[cfg]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Optional config hash for the attribute. This is added for performance along the critical path,
where the calling method has already obtained the config from state.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Any</span>:
The stored value of the attribute
</div>
</div>
</div>
<div id="method__getType" class="method item private inherited">
<h3 class="name"><code>_getType</code></h3>
<span class="paren">()</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method__getType">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l36"><code>event-custom/js/event-target.js:36</code></a>
</p>
</div>
<div class="description">
<p>If the instance has a prefix attribute and the
event type is not prefixed, the instance prefix is
applied to the supplied type.</p>
</div>
</div>
<div id="method__initAttrHost" class="method item private inherited">
<h3 class="name"><code>_initAttrHost</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attrs</code>
</li>
<li class="arg">
<code>values</code>
</li>
<li class="arg">
<code>lazy</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__initAttrHost">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l140"><code>attribute/js/AttributeCore.js:140</code></a>
</p>
</div>
<div class="description">
<p>Constructor logic for attributes. Initializes the host state, and sets up the inital attributes passed to the
constructor.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attrs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The attributes to add during construction (passed through to <a href="#method_addAttrs">addAttrs</a>).
These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor.</p>
</div>
</li>
<li class="param">
<code class="param-name">values</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The initial attribute values to apply (passed through to <a href="#method_addAttrs">addAttrs</a>).
These are not merged/cloned. The caller is responsible for isolating user provided values if required.</p>
</div>
</li>
<li class="param">
<code class="param-name">lazy</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<div class="param-description">
<p>Whether or not to add attributes lazily (passed through to <a href="#method_addAttrs">addAttrs</a>).</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__initAttribute" class="method item private inherited">
<h3 class="name"><code>_initAttribute</code></h3>
<span class="paren">()</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseObservable.html#method__initAttribute">
BaseObservable
</a>
but overwritten in
<a href="../files/base_js_BaseCore.js.html#l254"><code>base/js/BaseCore.js:254</code></a>
</p>
</div>
<div class="description">
<p>Initializes AttributeCore</p>
</div>
</div>
<div id="method__initAttrs" class="method item protected inherited">
<h3 class="name"><code>_initAttrs</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attrs</code>
</li>
<li class="arg">
<code>values</code>
</li>
<li class="arg">
<code>lazy</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag protected">protected</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__initAttrs">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l1011"><code>attribute/js/AttributeCore.js:1011</code></a>
</p>
</div>
<div class="description">
<p>Utility method to set up initial attributes defined during construction,
either through the constructor.ATTRS property, or explicitly passed in.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attrs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The attributes to add during construction (passed through to <a href="#method_addAttrs">addAttrs</a>).
These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor.</p>
</div>
</li>
<li class="param">
<code class="param-name">values</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The initial attribute values to apply (passed through to <a href="#method_addAttrs">addAttrs</a>).
These are not merged/cloned. The caller is responsible for isolating user provided values if required.</p>
</div>
</li>
<li class="param">
<code class="param-name">lazy</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<div class="param-description">
<p>Whether or not to add attributes lazily (passed through to <a href="#method_addAttrs">addAttrs</a>).</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__initBase" class="method item private inherited">
<h3 class="name"><code>_initBase</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>config</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__initBase">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l219"><code>base/js/BaseCore.js:219</code></a>
</p>
</div>
<div class="description">
<p>Internal construction logic for BaseCore.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">config</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The constructor configuration object</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__initHierarchy" class="method item private inherited">
<h3 class="name"><code>_initHierarchy</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>userVals</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__initHierarchy">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l659"><code>base/js/BaseCore.js:659</code></a>
</p>
</div>
<div class="description">
<p>Initializes the class hierarchy for the instance, which includes
initializing attributes for each class defined in the class's
static <a href="#property_BaseCore.ATTRS">ATTRS</a> property and
invoking the initializer method on the prototype of each class in the hierarchy.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">userVals</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>Object with configuration property name/value pairs</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__initHierarchyData" class="method item private inherited">
<h3 class="name"><code>_initHierarchyData</code></h3>
<span class="paren">()</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method__initHierarchyData">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l457"><code>base/js/BaseCore.js:457</code></a>
</p>
</div>
<div class="description">
<p>A helper method used by _getClasses and _getAttrCfgs, which determines both
the array of classes and aggregate set of attribute configurations
across the class hierarchy for the instance.</p>
</div>
</div>
<div id="method__isLazyAttr" class="method item private inherited">
<h3 class="name"><code>_isLazyAttr</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__isLazyAttr">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l369"><code>attribute/js/AttributeCore.js:369</code></a>
</p>
</div>
<div class="description">
<p>Checks whether or not the attribute is one which has been
added lazily and still requires initialization.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>:
true if it's a lazily added attribute, false otherwise.
</div>
</div>
</div>
<div id="method__monitor" class="method item private inherited">
<h3 class="name"><code>_monitor</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>what</code>
</li>
<li class="arg">
<code>eventType</code>
</li>
<li class="arg">
<code>o</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method__monitor">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l658"><code>event-custom/js/event-target.js:658</code></a>
</p>
</div>
<div class="description">
<p>This is the entry point for the event monitoring system.
You can monitor 'attach', 'detach', 'fire', and 'publish'.
When configured, these events generate an event. click ->
click<em>attach, click</em>detach, click_publish -- these can
be subscribed to like other events to monitor the event
system. Inividual published events can have monitoring
turned on or off (publish can't be turned off before it
it published) by setting the events 'monitor' config.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">what</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>'attach', 'detach', 'fire', or 'publish'</p>
</div>
</li>
<li class="param">
<code class="param-name">eventType</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a> | <a href="../classes/CustomEvent.html" class="crosslink">CustomEvent</a></span>
<div class="param-description">
<p>The prefixed name of the event being monitored, or the CustomEvent object.</p>
</div>
</li>
<li class="param">
<code class="param-name">o</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>Information about the event interaction, such as
fire() args, subscription category, publish config</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__normAttrVals" class="method item private inherited">
<h3 class="name"><code>_normAttrVals</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>valueHash</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__normAttrVals">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l897"><code>attribute/js/AttributeCore.js:897</code></a>
</p>
</div>
<div class="description">
<p>Utility method to normalize attribute values. The base implementation
simply merges the hash to protect the original.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">valueHash</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>An object with attribute name/value pairs</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
An object literal with 2 properties - "simple" and "complex",
containing simple and complex attribute values respectively keyed
by the top level attribute name, or null, if valueHash is falsey.
</div>
</div>
</div>
<div id="method__parse" class="method item protected">
<h3 class="name"><code>_parse</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>response</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag protected">protected</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l867"><code>app/js/model.js:867</code></a>
</p>
<p>Available since 3.7.0</p>
</div>
<div class="description">
<p>Calls the public, overrideable <code>parse()</code> method and returns the result.</p>
<p>Override this method to provide a custom pre-parsing implementation. This
provides a hook for custom persistence implementations to "prep" a response
before calling the <code>parse()</code> method.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">response</code>
<span class="type">Any</span>
<div class="param-description">
<p>Server response.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
Attribute hash.
</div>
</div>
</div>
<div id="method__parseType" class="method item private inherited">
<h3 class="name"><code>_parseType</code></h3>
<span class="paren">()</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method__parseType">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l52"><code>event-custom/js/event-target.js:52</code></a>
</p>
</div>
<div class="description">
<p>Returns an array with the detach key (if provided),
and the prefixed event name from _getType
Y.on('detachcategory| menu:click', fn)</p>
</div>
</div>
<div id="method__preInitEventCfg" class="method item private inherited">
<h3 class="name"><code>_preInitEventCfg</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>config</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseObservable.html#method__preInitEventCfg">BaseObservable</a>:
<a href="../files/base_js_BaseObservable.js.html#l98"><code>base/js/BaseObservable.js:98</code></a>
</p>
</div>
<div class="description">
<p>Handles the special on, after and target properties which allow the user to
easily configure on and after listeners as well as bubble targets during
construction, prior to init.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">config</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The user configuration object</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__protectAttrs" class="method item protected deprecated inherited">
<h3 class="name"><code>_protectAttrs</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attrs</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag deprecated" title="Use `AttributeCore.protectAttrs()` or
`Attribute.protectAttrs()` which are the same static utility method.">deprecated</span>
<span class="flag protected">protected</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__protectAttrs">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l883"><code>attribute/js/AttributeCore.js:883</code></a>
</p>
<p>Deprecated: Use `AttributeCore.protectAttrs()` or
`Attribute.protectAttrs()` which are the same static utility method.</p>
</div>
<div class="description">
<p>Utility method to protect an attribute configuration
hash, by merging the entire object and the individual
attr config objects.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attrs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>A hash of attribute to configuration object pairs.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
A protected version of the attrs argument.
</div>
</div>
</div>
<div id="method__publish" class="method item private inherited">
<h3 class="name"><code>_publish</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>fullType</code>
</li>
<li class="arg">
<code>etOpts</code>
</li>
<li class="arg">
<code>ceOpts</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="../classes/CustomEvent.html" class="crosslink">CustomEvent</a></span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method__publish">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l610"><code>event-custom/js/event-target.js:610</code></a>
</p>
</div>
<div class="description">
<p>The low level event publish implementation. It expects all the massaging to have been done
outside of this method. e.g. the <code>type</code> to <code>fullType</code> conversion. It's designed to be a fast
path publish, which can be used by critical code paths to improve performance.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">fullType</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The prefixed type of the event to publish.</p>
</div>
</li>
<li class="param">
<code class="param-name">etOpts</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The EventTarget specific configuration to mix into the published event.</p>
</div>
</li>
<li class="param">
<code class="param-name">ceOpts</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The publish specific configuration to mix into the published event.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="../classes/CustomEvent.html" class="crosslink">CustomEvent</a></span>:
The published event. If called without <code>etOpts</code> or <code>ceOpts</code>, this will
be the default <code>CustomEvent</code> instance, and can be configured independently.
</div>
</div>
</div>
<div id="method__set" class="method item protected inherited">
<h3 class="name"><code>_set</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
<li class="arg">
<code>val</code>
</li>
<li class="arg">
<code class="optional">[opts]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag protected">protected</span>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeObservable.html#method__set">
AttributeObservable
</a>
but overwritten in
<a href="../files/attribute_js_AttributeCore.js.html#l427"><code>attribute/js/AttributeCore.js:427</code></a>
</p>
</div>
<div class="description">
<p>Allows setting of readOnly/writeOnce attributes. See <a href="#method_set">set</a> for argument details.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute.</p>
</div>
</li>
<li class="param">
<code class="param-name">val</code>
<span class="type">Any</span>
<div class="param-description">
<p>The value to set the attribute to.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[opts]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Optional data providing the circumstances for the change.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
A reference to the host object.
</div>
</div>
</div>
<div id="method__setAttr" class="method item protected inherited">
<h3 class="name"><code>_setAttr</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
<li class="arg">
<code>value</code>
</li>
<li class="arg">
<code class="optional">[opts]</code>
</li>
<li class="arg">
<code>force</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag protected">protected</span>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__setAttr">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l443"><code>attribute/js/AttributeCore.js:443</code></a>
</p>
</div>
<div class="description">
<p>Provides the common implementation for the public set and protected _set methods.</p>
<p>See <a href="#method_set">set</a> for argument details.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute.</p>
</div>
</li>
<li class="param">
<code class="param-name">value</code>
<span class="type">Any</span>
<div class="param-description">
<p>The value to set the attribute to.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[opts]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Optional data providing the circumstances for the change.</p>
</div>
</li>
<li class="param">
<code class="param-name">force</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<div class="param-description">
<p>If true, allows the caller to set values for
readOnly or writeOnce attributes which have already been set.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
A reference to the host object.
</div>
</div>
</div>
<div id="method__setAttrs" class="method item protected inherited">
<h3 class="name"><code>_setAttrs</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attrs</code>
</li>
<li class="arg">
<code class="optional">[opts]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag protected">protected</span>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeObservable.html#method__setAttrs">
AttributeObservable
</a>
but overwritten in
<a href="../files/attribute_js_AttributeCore.js.html#l742"><code>attribute/js/AttributeCore.js:742</code></a>
</p>
</div>
<div class="description">
<p>Implementation behind the public setAttrs method, to set multiple attribute values.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attrs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>An object with attributes name/value pairs.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[opts]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Optional data providing the circumstances for the change</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
A reference to the host object.
</div>
</div>
</div>
<div id="method__setAttrVal" class="method item private inherited">
<h3 class="name"><code>_setAttrVal</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attrName</code>
</li>
<li class="arg">
<code>subAttrName</code>
</li>
<li class="arg">
<code>prevVal</code>
</li>
<li class="arg">
<code>newVal</code>
</li>
<li class="arg">
<code class="optional">[opts]</code>
</li>
<li class="arg">
<code class="optional">[attrCfg]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Booolean</span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__setAttrVal">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l640"><code>attribute/js/AttributeCore.js:640</code></a>
</p>
</div>
<div class="description">
<p>Updates the stored value of the attribute in the privately held State object,
if validation and setter passes.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The attribute name.</p>
</div>
</li>
<li class="param">
<code class="param-name">subAttrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The sub-attribute name, if setting a sub-attribute property ("x.y.z").</p>
</div>
</li>
<li class="param">
<code class="param-name">prevVal</code>
<span class="type">Any</span>
<div class="param-description">
<p>The currently stored value of the attribute.</p>
</div>
</li>
<li class="param">
<code class="param-name">newVal</code>
<span class="type">Any</span>
<div class="param-description">
<p>The value which is going to be stored.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[opts]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Optional data providing the circumstances for the change.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[attrCfg]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Optional config hash for the attribute. This is added for performance along the critical path,
where the calling method has already obtained the config from state.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Booolean</span>:
true if the new attribute value was stored, false if not.
</div>
</div>
</div>
<div id="method__setStateVal" class="method item private inherited">
<h3 class="name"><code>_setStateVal</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
<li class="arg">
<code>value</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method__setStateVal">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l622"><code>attribute/js/AttributeCore.js:622</code></a>
</p>
</div>
<div class="description">
<p>Sets the stored value for the attribute, in either the
internal state object, or the state proxy if it exits</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute</p>
</div>
</li>
<li class="param">
<code class="param-name">value</code>
<span class="type">Any</span>
<div class="param-description">
<p>The value of the attribute</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__validate" class="method item protected">
<h3 class="name"><code>_validate</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attributes</code>
</li>
<li class="arg">
<code>callback</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag protected">protected</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l885"><code>app/js/model.js:885</code></a>
</p>
</div>
<div class="description">
<p>Calls the public, overridable <code>validate()</code> method and fires an <code>error</code> event
if validation fails.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attributes</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>Attribute hash.</p>
</div>
</li>
<li class="param">
<code class="param-name">callback</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function</a></span>
<div class="param-description">
<p>Validation callback.</p>
</div>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[err]</code>
<span class="type">Any</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Value on failure, non-value on success.</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="method_addAttr" class="method item protected">
<h3 class="name"><code>addAttr</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
<li class="arg">
<code>config</code>
</li>
<li class="arg">
<code>lazy</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag protected">protected</span>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method_addAttr">
AttributeCore
</a>
but overwritten in
<a href="../files/app_js_model.js.html#l812"><code>app/js/model.js:812</code></a>
</p>
</div>
<div class="description">
<p>Duckpunches the <code>addAttr</code> method provided by <code>Y.Attribute</code> to keep the
<code>id</code> attribute’s value and a custom id attribute’s (if provided) value
in sync when adding the attributes to the model instance object.</p>
<p>Marked as protected to hide it from Model's public API docs, even though
this is a public method in Attribute.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute.</p>
</div>
</li>
<li class="param">
<code class="param-name">config</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>An object with attribute configuration property/value
pairs, specifying the configuration for the attribute.</p>
</div>
</li>
<li class="param">
<code class="param-name">lazy</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<div class="param-description">
<p>(optional) Whether or not to add this attribute lazily
(on the first call to get/set).</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
A reference to the host object.
</div>
</div>
</div>
<div id="method_addAttrs" class="method item inherited">
<h3 class="name"><code>addAttrs</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>cfgs</code>
</li>
<li class="arg">
<code>values</code>
</li>
<li class="arg">
<code>lazy</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method_addAttrs">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l805"><code>attribute/js/AttributeCore.js:805</code></a>
</p>
</div>
<div class="description">
<p>Configures a group of attributes, and sets initial values.</p>
<p>
<strong>NOTE:</strong> This method does not isolate the configuration object by merging/cloning.
The caller is responsible for merging/cloning the configuration object if required.
</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">cfgs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>An object with attribute name/configuration pairs.</p>
</div>
</li>
<li class="param">
<code class="param-name">values</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>An object with attribute name/value pairs, defining the initial values to apply.
Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only.</p>
</div>
</li>
<li class="param">
<code class="param-name">lazy</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<div class="param-description">
<p>Whether or not to delay the intialization of these attributes until the first call to get/set.
Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration.
See <a href="#method_addAttr">addAttr</a>.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
A reference to the host object.
</div>
</div>
</div>
<div id="method_addTarget" class="method item inherited">
<h3 class="name"><code>addTarget</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>o</code>
</li>
</ul><span class="paren">)</span>
</div>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_addTarget">EventTarget</a>:
<a href="../files/event-custom_js_event-facade.js.html#l455"><code>event-custom/js/event-facade.js:455</code></a>
</p>
</div>
<div class="description">
<p>Registers another EventTarget as a bubble target. Bubble order
is determined by the order registered. Multiple targets can
be specified.</p>
<p>Events can only bubble if emitFacade is true.</p>
<p>Included in the event-custom-complex submodule.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">o</code>
<span class="type"><a href="../classes/EventTarget.html" class="crosslink">EventTarget</a></span>
<div class="param-description">
<p>the target to add</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method_after" class="method item inherited">
<h3 class="name"><code>after</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
<li class="arg">
<code>fn</code>
</li>
<li class="arg">
<code class="optional">[context]</code>
</li>
<li class="arg">
<code class="optional">[arg*]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="../classes/EventHandle.html" class="crosslink">EventHandle</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_after">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l833"><code>event-custom/js/event-target.js:833</code></a>
</p>
</div>
<div class="description">
<p>Subscribe to a custom event hosted by this object. The
supplied callback will execute after any listeners add
via the subscribe method, and after the default function,
if configured for the event, has executed.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the event</p>
</div>
</li>
<li class="param">
<code class="param-name">fn</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function</a></span>
<div class="param-description">
<p>The callback to execute in response to the event</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[context]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Override <code>this</code> object in callback</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[arg*]</code>
<span class="type">Any</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>0..n additional arguments to supply to the subscriber</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="../classes/EventHandle.html" class="crosslink">EventHandle</a></span>:
A subscription handle capable of detaching the
subscription
</div>
</div>
</div>
<div id="method_attrAdded" class="method item inherited">
<h3 class="name"><code>attrAdded</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method_attrAdded">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l341"><code>attribute/js/AttributeCore.js:341</code></a>
</p>
</div>
<div class="description">
<p>Checks if the given attribute has been added to the host</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute to check.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>:
true if an attribute with the given name has been added, false if it hasn't.
This method will return true for lazily added attributes.
</div>
</div>
</div>
<div id="method_before" class="method item inherited">
<h3 class="name"><code>before</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type"></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_before">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l870"><code>event-custom/js/event-target.js:870</code></a>
</p>
</div>
<div class="description">
<p>Executes the callback before a DOM event, custom event
or method. If the first argument is a function, it
is assumed the target is a method. For DOM and custom
events, this is an alias for Y.on.</p>
<p>For DOM and custom events:
type, callback, context, 0-n arguments</p>
<p>For methods:
callback, object (method host), methodName, context, 0-n arguments</p>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
detach handle
</div>
</div>
</div>
<div id="method_bubble" class="method item inherited">
<h3 class="name"><code>bubble</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>evt</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_bubble">EventTarget</a>:
<a href="../files/event-custom_js_event-facade.js.html#l507"><code>event-custom/js/event-facade.js:507</code></a>
</p>
</div>
<div class="description">
<p>Propagate an event. Requires the event-custom-complex module.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">evt</code>
<span class="type"><a href="../classes/CustomEvent.html" class="crosslink">CustomEvent</a></span>
<div class="param-description">
<p>the custom event to propagate</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>:
the aggregated return value from Event.Custom.fire
</div>
</div>
</div>
<div id="method_destroy" class="method item">
<h3 class="name"><code>destroy</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code class="optional">[options]</code>
</li>
<li class="arg">
<code class="optional">[callback]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseObservable.html#method_destroy">
BaseObservable
</a>
but overwritten in
<a href="../files/app_js_model.js.html#l205"><code>app/js/model.js:205</code></a>
</p>
</div>
<div class="description">
<p>Destroys this model instance and removes it from its containing lists, if
any.</p>
<p>The <em>callback</em>, if one is provided, will be called after the model is
destroyed.</p>
<p>If <code>options.remove</code> is <code>true</code>, then this method delegates to the <code>sync()</code>
method to delete the model from the persistence layer, which is an
asynchronous action. In this case, the <em>callback</em> (if provided) will be
called after the sync layer indicates success or failure of the delete
operation.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[options]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Sync options. It's up to the custom sync
implementation to determine what options it supports or requires, if
any.</p>
</div>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[remove=false]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>If <code>true</code>, the model will be
deleted via the sync layer in addition to the instance being destroyed.</p>
</div>
</li>
</ul>
</li>
<li class="param">
<code class="param-name optional">[callback]</code>
<span class="type">Callback</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Called after the model has been destroyed (and
deleted via the sync layer if <code>options.remove</code> is <code>true</code>).</p>
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">err</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error" class="crosslink external" target="_blank">Error</a> | Null</span>
<div class="param-description">
<p>If an error occurred, this parameter will
contain the error. Otherwise <em>err</em> will be <code>null</code>.</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="method_detach" class="method item inherited">
<h3 class="name"><code>detach</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
<li class="arg">
<code>fn</code>
</li>
<li class="arg">
<code>context</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="../classes/EventTarget.html" class="crosslink">EventTarget</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_detach">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l346"><code>event-custom/js/event-target.js:346</code></a>
</p>
</div>
<div class="description">
<p>Detach one or more listeners the from the specified event</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a> | <a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>Either the handle to the subscriber or the
type of event. If the type
is not specified, it will attempt to remove
the listener from all hosted events.</p>
</div>
</li>
<li class="param">
<code class="param-name">fn</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function</a></span>
<div class="param-description">
<p>The subscribed function to unsubscribe, if not
supplied, all subscribers will be removed.</p>
</div>
</li>
<li class="param">
<code class="param-name">context</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The custom object passed to subscribe. This is
optional, but if supplied will be used to
disambiguate multiple listeners that are the same
(e.g., you subscribe many object using a function
that lives on the prototype)</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="../classes/EventTarget.html" class="crosslink">EventTarget</a></span>:
the host
</div>
</div>
</div>
<div id="method_detachAll" class="method item inherited">
<h3 class="name"><code>detachAll</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
</ul><span class="paren">)</span>
</div>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_detachAll">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l469"><code>event-custom/js/event-target.js:469</code></a>
</p>
</div>
<div class="description">
<p>Removes all listeners from the specified event. If the event type
is not specified, all listeners from all hosted custom events will
be removed.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The type, or name of the event</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method_fire" class="method item inherited">
<h3 class="name"><code>fire</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
<li class="arg">
<code>arguments</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="../classes/EventTarget.html" class="crosslink">EventTarget</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_fire">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l695"><code>event-custom/js/event-target.js:695</code></a>
</p>
</div>
<div class="description">
<p>Fire a custom event by name. The callback functions will be executed
from the context specified when the event was created, and with the
following parameters.</p>
<p>If the custom event object hasn't been created, then the event hasn't
been published and it has no subscribers. For performance sake, we
immediate exit in this case. This means the event won't bubble, so
if the intention is that a bubble target be notified, the event must
be published on this object first.</p>
<p>The first argument is the event type, and any additional arguments are
passed to the listeners as parameters. If the first of these is an
object literal, and the event is configured to emit an event facade,
that object is mixed into the event facade and the facade is provided
in place of the original object.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a> | <a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The type of the event, or an object that contains
a 'type' property.</p>
</div>
</li>
<li class="param">
<code class="param-name">arguments</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object*</a></span>
<div class="param-description">
<p>an arbitrary set of parameters to pass to
the handler. If the first of these is an object literal and the event is
configured to emit an event facade, the event facade will replace that
parameter after the properties the object literal contains are copied to
the event facade.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="../classes/EventTarget.html" class="crosslink">EventTarget</a></span>:
the event host
</div>
</div>
</div>
<div id="method_generateClientId" class="method item">
<h3 class="name"><code>generateClientId</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l260"><code>app/js/model.js:260</code></a>
</p>
</div>
<div class="description">
<p>Returns a clientId string that's unique among all models on the current page
(even models in other YUI instances). Uniqueness across pageviews is
unlikely.</p>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>:
Unique clientId.
</div>
</div>
</div>
<div id="method_get" class="method item">
<h3 class="name"><code>get</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Any</span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method_get">
AttributeCore
</a>
but overwritten in
<a href="../files/app_js_model.js.html#l273"><code>app/js/model.js:273</code></a>
</p>
</div>
<div class="description">
<p>Returns the value of the specified attribute.</p>
<p>If the attribute's value is an object, <em>name</em> may use dot notation to
specify the path to a specific property within the object, and the value of
that property will be returned.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>Attribute name or object property path.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Any</span>:
Attribute value, or <code>undefined</code> if the attribute doesn't
exist.
</div>
</div>
<div class="example">
<h4>Example:</h4>
<div class="example-content">
<pre class="code prettyprint"><code>// Set the 'foo' attribute to an object.
myModel.set('foo', {
bar: {
baz: 'quux'
}
});
// Get the value of 'foo'.
myModel.get('foo');
// => {bar: {baz: 'quux'}}
// Get the value of 'foo.bar.baz'.
myModel.get('foo.bar.baz');
// => 'quux'
</code></pre>
</div>
</div>
</div>
<div id="method_getAsHTML" class="method item">
<h3 class="name"><code>getAsHTML</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l304"><code>app/js/model.js:304</code></a>
</p>
</div>
<div class="description">
<p>Returns an HTML-escaped version of the value of the specified string
attribute. The value is escaped using <code>Y.Escape.html()</code>.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>Attribute name or object property path.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>:
HTML-escaped attribute value.
</div>
</div>
</div>
<div id="method_getAsURL" class="method item">
<h3 class="name"><code>getAsURL</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l317"><code>app/js/model.js:317</code></a>
</p>
</div>
<div class="description">
<p>Returns a URL-encoded version of the value of the specified string
attribute. The value is encoded using the native <code>encodeURIComponent()</code>
function.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>Attribute name or object property path.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>:
URL-encoded attribute value.
</div>
</div>
</div>
<div id="method_getAttrs" class="method item inherited">
<h3 class="name"><code>getAttrs</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attrs</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeCore.html#method_getAttrs">AttributeCore</a>:
<a href="../files/attribute_js_AttributeCore.js.html#l762"><code>attribute/js/AttributeCore.js:762</code></a>
</p>
</div>
<div class="description">
<p>Gets multiple attribute values.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attrs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array" class="crosslink external" target="_blank">Array</a> | boolean</span>
<div class="param-description">
<p>Optional. An array of attribute names. If omitted, all attribute values are
returned. If set to true, all attributes modified from their initial values are returned.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
An object with attribute name/value pairs.
</div>
</div>
</div>
<div id="method_getEvent" class="method item inherited">
<h3 class="name"><code>getEvent</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
<li class="arg">
<code>prefixed</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="../classes/CustomEvent.html" class="crosslink">CustomEvent</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_getEvent">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l814"><code>event-custom/js/event-target.js:814</code></a>
</p>
</div>
<div class="description">
<p>Returns the custom event of the provided type has been created, a
falsy value otherwise</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>the type, or name of the event</p>
</div>
</li>
<li class="param">
<code class="param-name">prefixed</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>if true, the type is prefixed already</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="../classes/CustomEvent.html" class="crosslink">CustomEvent</a></span>:
the custom event or null
</div>
</div>
</div>
<div id="method_getTargets" class="method item inherited">
<h3 class="name"><code>getTargets</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type"></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_getTargets">EventTarget</a>:
<a href="../files/event-custom_js_event-facade.js.html#l479"><code>event-custom/js/event-facade.js:479</code></a>
</p>
</div>
<div class="description">
<p>Returns an array of bubble targets for this object.</p>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
EventTarget[]
</div>
</div>
</div>
<div id="method_init" class="method item inherited">
<h3 class="name"><code>init</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>cfg</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="../classes/BaseCore.html" class="crosslink">BaseCore</a></span>
</span>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseObservable.html#method_init">
BaseObservable
</a>
but overwritten in
<a href="../files/base_js_BaseCore.js.html#l264"><code>base/js/BaseCore.js:264</code></a>
</p>
</div>
<div class="description">
<p>Init lifecycle method, invoked during construction. Sets up attributes
and invokes initializers for the class hierarchy.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">cfg</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>Object with configuration property name/value pairs</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="../classes/BaseCore.html" class="crosslink">BaseCore</a></span>:
A reference to this object
</div>
</div>
</div>
<div id="method_isModified" class="method item">
<h3 class="name"><code>isModified</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l331"><code>app/js/model.js:331</code></a>
</p>
</div>
<div class="description">
<p>Returns <code>true</code> if any attribute of this model has been changed since the
model was last saved.</p>
<p>New models (models for which <code>isNew()</code> returns <code>true</code>) are implicitly
considered to be "modified" until the first time they're saved.</p>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>:
<code>true</code> if this model has changed since it was last saved,
<code>false</code> otherwise.
</div>
</div>
</div>
<div id="method_isNew" class="method item">
<h3 class="name"><code>isNew</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l346"><code>app/js/model.js:346</code></a>
</p>
</div>
<div class="description">
<p>Returns <code>true</code> if this model is "new", meaning it hasn't been saved since it
was created.</p>
<p>Newness is determined by checking whether the model's <code>id</code> attribute has
been set. An empty id is assumed to indicate a new model, whereas a
non-empty id indicates a model that was either loaded or has been saved
since it was created.</p>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>:
<code>true</code> if this model is new, <code>false</code> otherwise.
</div>
</div>
</div>
<div id="method_load" class="method item">
<h3 class="name"><code>load</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code class="optional">[options]</code>
</li>
<li class="arg">
<code class="optional">[callback]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l362"><code>app/js/model.js:362</code></a>
</p>
</div>
<div class="description">
<p>Loads this model from the server.</p>
<p>This method delegates to the <code>sync()</code> method to perform the actual load
operation, which is an asynchronous action. Specify a <em>callback</em> function to
be notified of success or failure.</p>
<p>A successful load operation will fire a <code>load</code> event, while an unsuccessful
load operation will fire an <code>error</code> event with the <code>src</code> value "load".</p>
<p>If the load operation succeeds and one or more of the loaded attributes
differ from this model's current attributes, a <code>change</code> event will be fired.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[options]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Options to be passed to <code>sync()</code> and to <code>set()</code>
when setting the loaded attributes. It's up to the custom sync
implementation to determine what options it supports or requires, if any.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[callback]</code>
<span class="type">Callback</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Called when the sync operation finishes.</p>
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">err</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error" class="crosslink external" target="_blank">Error</a> | Null</span>
<div class="param-description">
<p>If an error occurred, this parameter will
contain the error. If the sync operation succeeded, <em>err</em> will be
<code>null</code>.</p>
</div>
</li>
<li class="param">
<code class="param-name">response</code>
<span class="type">Any</span>
<div class="param-description">
<p>The server's response. This value will
be passed to the <code>parse()</code> method, which is expected to parse it and
return an attribute hash.</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="method_modifyAttr" class="method item inherited">
<h3 class="name"><code>modifyAttr</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
<li class="arg">
<code>config</code>
</li>
</ul><span class="paren">)</span>
</div>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeExtras.html#method_modifyAttr">AttributeExtras</a>:
<a href="../files/attribute_js_AttributeExtras.js.html#l40"><code>attribute/js/AttributeExtras.js:40</code></a>
</p>
</div>
<div class="description">
<p>Updates the configuration of an attribute which has already been added.</p>
<p>
The properties which can be modified through this interface are limited
to the following subset of attributes, which can be safely modified
after a value has already been set on the attribute: readOnly, writeOnce,
broadcast and getter.
</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute whose configuration is to be updated.</p>
</div>
</li>
<li class="param">
<code class="param-name">config</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>An object with configuration property/value pairs, specifying the configuration properties to modify.</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method_on" class="method item inherited">
<h3 class="name"><code>on</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
<li class="arg">
<code>fn</code>
</li>
<li class="arg">
<code class="optional">[context]</code>
</li>
<li class="arg">
<code class="optional">[arg*]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="../classes/EventHandle.html" class="crosslink">EventHandle</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_on">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l188"><code>event-custom/js/event-target.js:188</code></a>
</p>
</div>
<div class="description">
<p>Subscribe a callback function to a custom event fired by this object or
from an object that bubbles its events to this object.</p>
<p>Callback functions for events published with <code>emitFacade = true</code> will
receive an <code>EventFacade</code> as the first argument (typically named "e").
These callbacks can then call <code>e.preventDefault()</code> to disable the
behavior published to that event's <code>defaultFn</code>. See the <code>EventFacade</code>
API for all available properties and methods. Subscribers to
non-<code>emitFacade</code> events will receive the arguments passed to <code>fire()</code>
after the event name.</p>
<p>To subscribe to multiple events at once, pass an object as the first
argument, where the key:value pairs correspond to the eventName:callback,
or pass an array of event names as the first argument to subscribe to
all listed events with the same callback.</p>
<p>Returning <code>false</code> from a callback is supported as an alternative to
calling <code>e.preventDefault(); e.stopPropagation();</code>. However, it is
recommended to use the event methods whenever possible.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the event</p>
</div>
</li>
<li class="param">
<code class="param-name">fn</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function</a></span>
<div class="param-description">
<p>The callback to execute in response to the event</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[context]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Override <code>this</code> object in callback</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[arg*]</code>
<span class="type">Any</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>0..n additional arguments to supply to the subscriber</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="../classes/EventHandle.html" class="crosslink">EventHandle</a></span>:
A subscription handle capable of detaching that
subscription
</div>
</div>
</div>
<div id="method_once" class="method item inherited">
<h3 class="name"><code>once</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
<li class="arg">
<code>fn</code>
</li>
<li class="arg">
<code class="optional">[context]</code>
</li>
<li class="arg">
<code class="optional">[arg*]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="../classes/EventHandle.html" class="crosslink">EventHandle</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_once">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l124"><code>event-custom/js/event-target.js:124</code></a>
</p>
</div>
<div class="description">
<p>Listen to a custom event hosted by this object one time.
This is the equivalent to <code>on</code> except the
listener is immediatelly detached when it is executed.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the event</p>
</div>
</li>
<li class="param">
<code class="param-name">fn</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function</a></span>
<div class="param-description">
<p>The callback to execute in response to the event</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[context]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Override <code>this</code> object in callback</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[arg*]</code>
<span class="type">Any</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>0..n additional arguments to supply to the subscriber</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="../classes/EventHandle.html" class="crosslink">EventHandle</a></span>:
A subscription handle capable of detaching the
subscription
</div>
</div>
</div>
<div id="method_onceAfter" class="method item inherited">
<h3 class="name"><code>onceAfter</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
<li class="arg">
<code>fn</code>
</li>
<li class="arg">
<code class="optional">[context]</code>
</li>
<li class="arg">
<code class="optional">[arg*]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="../classes/EventHandle.html" class="crosslink">EventHandle</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_onceAfter">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l146"><code>event-custom/js/event-target.js:146</code></a>
</p>
</div>
<div class="description">
<p>Listen to a custom event hosted by this object one time.
This is the equivalent to <code>after</code> except the
listener is immediatelly detached when it is executed.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the event</p>
</div>
</li>
<li class="param">
<code class="param-name">fn</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function</a></span>
<div class="param-description">
<p>The callback to execute in response to the event</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[context]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Override <code>this</code> object in callback</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[arg*]</code>
<span class="type">Any</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>0..n additional arguments to supply to the subscriber</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="../classes/EventHandle.html" class="crosslink">EventHandle</a></span>:
A subscription handle capable of detaching that
subscription
</div>
</div>
</div>
<div id="method_parse" class="method item">
<h3 class="name"><code>parse</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>response</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l434"><code>app/js/model.js:434</code></a>
</p>
</div>
<div class="description">
<p>Called to parse the <em>response</em> when the model is loaded from the server.
This method receives a server <em>response</em> and is expected to return an
attribute hash.</p>
<p>The default implementation assumes that <em>response</em> is either an attribute
hash or a JSON string that can be parsed into an attribute hash. If
<em>response</em> is a JSON string and either <code>Y.JSON</code> or the native <code>JSON</code> object
are available, it will be parsed automatically. If a parse error occurs, an
<code>error</code> event will be fired and the model will not be updated.</p>
<p>You may override this method to implement custom parsing logic if necessary.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">response</code>
<span class="type">Any</span>
<div class="param-description">
<p>Server response.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
Attribute hash.
</div>
</div>
</div>
<div id="method_parseType" class="method item inherited">
<h3 class="name"><code>parseType</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
<li class="arg">
<code class="optional">[pre=this._yuievt.config.prefix]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array" class="crosslink external" target="_blank">Array</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_parseType">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l168"><code>event-custom/js/event-target.js:168</code></a>
</p>
<p>Available since 3.3.0</p>
</div>
<div class="description">
<p>Takes the type parameter passed to 'on' and parses out the
various pieces that could be included in the type. If the
event type is passed without a prefix, it will be expanded
to include the prefix one is supplied or the event target
is configured with a default prefix.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>the type</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[pre=this._yuievt.config.prefix]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>the prefix</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array" class="crosslink external" target="_blank">Array</a></span>:
an array containing:
* the detach category, if supplied,
* the prefixed event type,
* whether or not this is an after listener,
* the supplied event type
</div>
</div>
</div>
<div id="method_publish" class="method item inherited">
<h3 class="name"><code>publish</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
<li class="arg">
<code>opts</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="../classes/CustomEvent.html" class="crosslink">CustomEvent</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_publish">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l493"><code>event-custom/js/event-target.js:493</code></a>
</p>
</div>
<div class="description">
<p>Creates a new custom event of the specified type. If a custom event
by that name already exists, it will not be re-created. In either
case the custom event is returned.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>the type, or name of the event</p>
</div>
</li>
<li class="param">
<code class="param-name">opts</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>optional config params. Valid properties are:</p>
<p><ul>
<li>
'broadcast': whether or not the YUI instance and YUI global are notified when the event is fired (false)
</li>
<li>
'bubbles': whether or not this event bubbles (true)
Events can only bubble if emitFacade is true.
</li>
<li>
'context': the default execution context for the listeners (this)
</li>
<li>
'defaultFn': the default function to execute when this event fires if preventDefault was not called
</li>
<li>
'emitFacade': whether or not this event emits a facade (false)
</li>
<li>
'prefix': the prefix for this targets events, e.g., 'menu' in 'menu:click'
</li>
<li>
'fireOnce': if an event is configured to fire once, new subscribers after
the fire will be notified immediately.
</li>
<li>
'async': fireOnce event listeners will fire synchronously if the event has already
fired unless async is true.
</li>
<li>
'preventable': whether or not preventDefault() has an effect (true)
</li>
<li>
'preventedFn': a function that is executed when preventDefault is called
</li>
<li>
'queuable': whether or not this event can be queued during bubbling (false)
</li>
<li>
'silent': if silent is true, debug messages are not provided for this event.
</li>
<li>
'stoppedFn': a function that is executed when stopPropagation is called
</li></p>
<p><li>
'monitored': specifies whether or not this event should send notifications about
when the event has been attached, detached, or published.
</li>
<li>
'type': the event type (valid option if not provided as the first parameter to publish)
</li>
</ul></p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="../classes/CustomEvent.html" class="crosslink">CustomEvent</a></span>:
the custom event
</div>
</div>
</div>
<div id="method_removeAttr" class="method item inherited">
<h3 class="name"><code>removeAttr</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
</ul><span class="paren">)</span>
</div>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeExtras.html#method_removeAttr">AttributeExtras</a>:
<a href="../files/attribute_js_AttributeExtras.js.html#l79"><code>attribute/js/AttributeExtras.js:79</code></a>
</p>
</div>
<div class="description">
<p>Removes an attribute from the host object</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The name of the attribute to be removed.</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method_removeTarget" class="method item inherited">
<h3 class="name"><code>removeTarget</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>o</code>
</li>
</ul><span class="paren">)</span>
</div>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_removeTarget">EventTarget</a>:
<a href="../files/event-custom_js_event-facade.js.html#l489"><code>event-custom/js/event-facade.js:489</code></a>
</p>
</div>
<div class="description">
<p>Removes a bubble target</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">o</code>
<span class="type"><a href="../classes/EventTarget.html" class="crosslink">EventTarget</a></span>
<div class="param-description">
<p>the target to remove</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method_reset" class="method item inherited">
<h3 class="name"><code>reset</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeExtras.html#method_reset">AttributeExtras</a>:
<a href="../files/attribute_js_AttributeExtras.js.html#l89"><code>attribute/js/AttributeExtras.js:89</code></a>
</p>
</div>
<div class="description">
<p>Resets the attribute (or all attributes) to its initial value, as long as
the attribute is not readOnly, or writeOnce.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>Optional. The name of the attribute to reset. If omitted, all attributes are reset.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
A reference to the host object.
</div>
</div>
</div>
<div id="method_save" class="method item">
<h3 class="name"><code>save</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code class="optional">[options]</code>
</li>
<li class="arg">
<code class="optional">[callback]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l469"><code>app/js/model.js:469</code></a>
</p>
</div>
<div class="description">
<p>Saves this model to the server.</p>
<p>This method delegates to the <code>sync()</code> method to perform the actual save
operation, which is an asynchronous action. Specify a <em>callback</em> function to
be notified of success or failure.</p>
<p>A successful save operation will fire a <code>save</code> event, while an unsuccessful
save operation will fire an <code>error</code> event with the <code>src</code> value "save".</p>
<p>If the save operation succeeds and one or more of the attributes returned in
the server's response differ from this model's current attributes, a
<code>change</code> event will be fired.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[options]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Options to be passed to <code>sync()</code> and to <code>set()</code>
when setting synced attributes. It's up to the custom sync implementation
to determine what options it supports or requires, if any.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[callback]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Called when the sync operation finishes.</p>
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">err</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error" class="crosslink external" target="_blank">Error</a> | Null</span>
<div class="param-description">
<p>If an error occurred or validation
failed, this parameter will contain the error. If the sync operation
succeeded, <em>err</em> will be <code>null</code>.</p>
</div>
</li>
<li class="param">
<code class="param-name">response</code>
<span class="type">Any</span>
<div class="param-description">
<p>The server's response. This value will
be passed to the <code>parse()</code> method, which is expected to parse it and
return an attribute hash.</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="method_set" class="method item">
<h3 class="name"><code>set</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>name</code>
</li>
<li class="arg">
<code>value</code>
</li>
<li class="arg">
<code class="optional">[options]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeObservable.html#method_set">
AttributeObservable
</a>
but overwritten in
<a href="../files/app_js_model.js.html#l550"><code>app/js/model.js:550</code></a>
</p>
</div>
<div class="description">
<p>Sets the value of a single attribute. If model validation fails, the
attribute will not be set and an <code>error</code> event will be fired.</p>
<p>Use <code>setAttrs()</code> to set multiple attributes at once.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">name</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>Attribute name or object property path.</p>
</div>
</li>
<li class="param">
<code class="param-name">value</code>
<span class="type">Any</span>
<div class="param-description">
<p>Value to set.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[options]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Data to be mixed into the event facade of the
<code>change</code> event(s) for these attributes.</p>
</div>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[silent=false]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>If <code>true</code>, no <code>change</code> event will
be fired.</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
<div class="example">
<h4>Example:</h4>
<div class="example-content">
<pre class="code prettyprint"><code>model.set('foo', 'bar');
</code></pre>
</div>
</div>
</div>
<div id="method_setAttrs" class="method item">
<h3 class="name"><code>setAttrs</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attributes</code>
</li>
<li class="arg">
<code class="optional">[options]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>Inherited from
<a href="../classes/AttributeObservable.html#method_setAttrs">
AttributeObservable
</a>
but overwritten in
<a href="../files/app_js_model.js.html#l575"><code>app/js/model.js:575</code></a>
</p>
</div>
<div class="description">
<p>Sets the values of multiple attributes at once. If model validation fails,
the attributes will not be set and an <code>error</code> event will be fired.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attributes</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>Hash of attribute names and values to set.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[options]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Data to be mixed into the event facade of the
<code>change</code> event(s) for these attributes.</p>
</div>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[silent=false]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>If <code>true</code>, no <code>change</code> event will
be fired.</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
<div class="example">
<h4>Example:</h4>
<div class="example-content">
<pre class="code prettyprint"><code>model.setAttrs({
foo: 'bar',
baz: 'quux'
});
</code></pre>
</div>
</div>
</div>
<div id="method_subscribe" class="method item deprecated inherited">
<h3 class="name"><code>subscribe</code></h3>
<span class="paren">()</span>
<span class="flag deprecated" title="use on">deprecated</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_subscribe">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l336"><code>event-custom/js/event-target.js:336</code></a>
</p>
<p>Deprecated: use on</p>
</div>
<div class="description">
<p>subscribe to an event</p>
</div>
</div>
<div id="method_sync" class="method item">
<h3 class="name"><code>sync</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>action</code>
</li>
<li class="arg">
<code class="optional">[options]</code>
</li>
<li class="arg">
<code class="optional">[callback]</code>
</li>
</ul><span class="paren">)</span>
</div>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l656"><code>app/js/model.js:656</code></a>
</p>
</div>
<div class="description">
<p>Override this method to provide a custom persistence implementation for this
model. The default just calls the callback without actually doing anything.</p>
<p>This method is called internally by <code>load()</code>, <code>save()</code>, and <code>destroy()</code>, and
their implementations rely on the callback being called. This effectively
means that when a callback is provided, it must be called at some point for
the class to operate correctly.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">action</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>Sync action to perform. May be one of the following:</p>
<ul>
<li><code>create</code>: Store a newly-created model for the first time.</li>
<li><code>delete</code>: Delete an existing model.</li>
<li><code>read</code> : Load an existing model.</li>
<li><code>update</code>: Update an existing model.</li>
</ul>
</div>
</li>
<li class="param">
<code class="param-name optional">[options]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Sync options. It's up to the custom sync
implementation to determine what options it supports or requires, if any.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[callback]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Called when the sync operation finishes.</p>
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">err</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error" class="crosslink external" target="_blank">Error</a> | Null</span>
<div class="param-description">
<p>If an error occurred, this parameter will
contain the error. If the sync operation succeeded, <em>err</em> will be
falsy.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[response]</code>
<span class="type">Any</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>The server's response.</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="method_toJSON" class="method item">
<h3 class="name"><code>toJSON</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l689"><code>app/js/model.js:689</code></a>
</p>
</div>
<div class="description">
<p>Returns a copy of this model's attributes that can be passed to
<code>Y.JSON.stringify()</code> or used for other nefarious purposes.</p>
<p>The <code>clientId</code> attribute is not included in the returned object.</p>
<p>If you've specified a custom attribute name in the <code>idAttribute</code> property,
the default <code>id</code> attribute will not be included in the returned object.</p>
<p>Note: The ECMAScript 5 specification states that objects may implement a
<code>toJSON</code> method to provide an alternate object representation to serialize
when passed to <code>JSON.stringify(obj)</code>. This allows class instances to be
serialized as if they were plain objects. This is why Model's <code>toJSON</code>
returns an object, not a JSON string.</p>
<p>See <a href="http://es5.github.com/#x15.12.3">http://es5.github.com/#x15.12.3</a> for details.</p>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>:
Copy of this model's attributes.
</div>
</div>
</div>
<div id="method_toString" class="method item inherited">
<h3 class="name"><code>toString</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#method_toString">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l754"><code>base/js/BaseCore.js:754</code></a>
</p>
</div>
<div class="description">
<p>Default toString implementation. Provides the constructor NAME
and the instance guid, if set.</p>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>:
String representation for this object
</div>
</div>
</div>
<div id="method_undo" class="method item">
<h3 class="name"><code>undo</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code class="optional">[attrNames]</code>
</li>
<li class="arg">
<code class="optional">[options]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag chainable">chainable</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l723"><code>app/js/model.js:723</code></a>
</p>
</div>
<div class="description">
<p>Reverts the last change to the model.</p>
<p>If an <em>attrNames</em> array is provided, then only the named attributes will be
reverted (and only if they were modified in the previous change). If no
<em>attrNames</em> array is provided, then all changed attributes will be reverted
to their previous values.</p>
<p>Note that only one level of undo is available: from the current state to the
previous state. If <code>undo()</code> is called when no previous state is available,
it will simply do nothing.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[attrNames]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array" class="crosslink external" target="_blank">Array</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Array of specific attribute names to revert. If
not specified, all attributes modified in the last change will be
reverted.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[options]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Data to be mixed into the event facade of the
change event(s) for these attributes.</p>
</div>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[silent=false]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>If <code>true</code>, no <code>change</code> event will
be fired.</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="method_unsubscribe" class="method item deprecated inherited">
<h3 class="name"><code>unsubscribe</code></h3>
<span class="paren">()</span>
<span class="flag deprecated" title="use detach">deprecated</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_unsubscribe">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l459"><code>event-custom/js/event-target.js:459</code></a>
</p>
<p>Deprecated: use detach</p>
</div>
<div class="description">
<p>detach a listener</p>
</div>
</div>
<div id="method_unsubscribeAll" class="method item deprecated inherited">
<h3 class="name"><code>unsubscribeAll</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>type</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag deprecated" title="use detachAll">deprecated</span>
<div class="meta">
<p>Inherited from
<a href="../classes/EventTarget.html#method_unsubscribeAll">EventTarget</a>:
<a href="../files/event-custom_js_event-target.js.html#l480"><code>event-custom/js/event-target.js:480</code></a>
</p>
<p>Deprecated: use detachAll</p>
</div>
<div class="description">
<p>Removes all listeners from the specified event. If the event type
is not specified, all listeners from all hosted custom events will
be removed.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">type</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>The type, or name of the event</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method_validate" class="method item">
<h3 class="name"><code>validate</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>attrs</code>
</li>
<li class="arg">
<code>callback</code>
</li>
</ul><span class="paren">)</span>
</div>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l766"><code>app/js/model.js:766</code></a>
</p>
</div>
<div class="description">
<p>Override this method to provide custom validation logic for this model.</p>
<p>While attribute-specific validators can be used to validate individual
attributes, this method gives you a hook to validate a hash of all
attributes before the model is saved. This method is called automatically
before <code>save()</code> takes any action. If validation fails, the <code>save()</code> call
will be aborted.</p>
<p>In your validation method, call the provided <code>callback</code> function with no
arguments to indicate success. To indicate failure, pass a single argument,
which may contain an error message, an array of error messages, or any other
value. This value will be passed along to the <code>error</code> event.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">attrs</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>Attribute hash containing all model attributes to
be validated.</p>
</div>
</li>
<li class="param">
<code class="param-name">callback</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" class="crosslink external" target="_blank">Function</a></span>
<div class="param-description">
<p>Validation callback. Call this function when your
validation logic finishes. To trigger a validation failure, pass any
value as the first argument to the callback (ideally a meaningful
validation error of some kind).</p>
</div>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[err]</code>
<span class="type">Any</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Validation error. Don't provide this
argument if validation succeeds. If validation fails, set this to an
error message or some other meaningful value. It will be passed
along to the resulting <code>error</code> event.</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
<div class="example">
<h4>Example:</h4>
<div class="example-content">
<pre class="code prettyprint"><code>model.validate = function (attrs, callback) {
if (attrs.pie !== true) {
// No pie?! Invalid!
callback('Must provide pie.');
return;
}
// Success!
callback();
};
</code></pre>
</div>
</div>
</div>
</div>
<div id="properties" class="api-class-tabpanel">
<h2 class="off-left">Properties</h2>
<div id="property__allowAdHocAttrs" class="property item protected">
<h3 class="name"><code>_allowAdHocAttrs</code></h3>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<span class="flag protected">protected</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#property__allowAdHocAttrs">
BaseCore
</a>
but overwritten in
<a href="../files/app_js_model.js.html#l169"><code>app/js/model.js:169</code></a>
</p>
<p>Available since 3.5.0</p>
</div>
<div class="description">
<p>This tells <code>Y.Base</code> that it should create ad-hoc attributes for config
properties passed to Model's constructor. This makes it possible to
instantiate a model and set a bunch of attributes without having to subclass
<code>Y.Model</code> and declare all those attributes first.</p>
</div>
<p><strong>Default:</strong> true</p>
</div>
<div id="property__isYUIModel" class="property item protected">
<h3 class="name"><code>_isYUIModel</code></h3>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<span class="flag protected">protected</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l183"><code>app/js/model.js:183</code></a>
</p>
<p>Available since 3.5.0</p>
</div>
<div class="description">
<p>Total hack to allow us to identify Model instances without using
<code>instanceof</code>, which won't work when the instance was created in another
window or YUI sandbox.</p>
</div>
<p><strong>Default:</strong> true</p>
</div>
<div id="property_changed" class="property item">
<h3 class="name"><code>changed</code></h3>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l100"><code>app/js/model.js:100</code></a>
</p>
</div>
<div class="description">
<p>Hash of attributes that have changed since the last time this model was
saved.</p>
</div>
<p><strong>Default:</strong> {}</p>
</div>
<div id="property_idAttribute" class="property item">
<h3 class="name"><code>idAttribute</code></h3>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l109"><code>app/js/model.js:109</code></a>
</p>
</div>
<div class="description">
<p>Name of the attribute to use as the unique id (or primary key) for this
model.</p>
<p>The default is <code>id</code>, but if your persistence layer uses a different name for
the primary key (such as <code>_id</code> or <code>uid</code>), you can specify that here.</p>
<p>The built-in <code>id</code> attribute will always be an alias for whatever attribute
name you specify here, so getting and setting <code>id</code> will always behave the
same as getting and setting your custom id attribute.</p>
</div>
<p><strong>Default:</strong> `'id'`</p>
</div>
<div id="property_lastChange" class="property item">
<h3 class="name"><code>lastChange</code></h3>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l126"><code>app/js/model.js:126</code></a>
</p>
</div>
<div class="description">
<p>Hash of attributes that were changed in the last <code>change</code> event. Each item
in this hash is an object with the following properties:</p>
<ul>
<li><code>newVal</code>: The new value of the attribute after it changed.</li>
<li><code>prevVal</code>: The old value of the attribute before it changed.</li>
<li><code>src</code>: The source of the change, or <code>null</code> if no source was specified.</li>
</ul>
</div>
<p><strong>Default:</strong> {}</p>
</div>
<div id="property_lists" class="property item">
<h3 class="name"><code>lists</code></h3>
<span class="type"><a href="../classes/ModelList.html" class="crosslink">ModelList[]</a></span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l139"><code>app/js/model.js:139</code></a>
</p>
</div>
<div class="description">
<p>Array of <code>ModelList</code> instances that contain this model.</p>
<p>When a model is in one or more lists, the model's events will bubble up to
those lists. You can subscribe to a model event on a list to be notified
when any model in the list fires that event.</p>
<p>This property is updated automatically when this model is added to or
removed from a <code>ModelList</code> instance. You shouldn't alter it manually. When
working with models in a list, you should always add and remove models using
the list's <code>add()</code> and <code>remove()</code> methods.</p>
</div>
<p><strong>Default:</strong> `[]`</p>
<div class="example">
<h4>Example:</h4>
<div class="example-content">
<p>Subscribing to model events on a list:</p>
<pre class="code prettyprint"><code>// Assuming <code>list</code> is an existing Y.ModelList instance.
list.on('*:change', function (e) {
// This function will be called whenever any model in the list
// fires a <code>change</code> event.
//
// <code>e.target</code> will refer to the model instance that fired the
// event.
});
</code></pre>
</div>
</div>
</div>
<div id="property_name" class="property item deprecated inherited">
<h3 class="name"><code>name</code></h3>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<span class="flag deprecated" title="Use this.constructor.NAME">deprecated</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#property_name">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l242"><code>base/js/BaseCore.js:242</code></a>
</p>
<p>Deprecated: Use this.constructor.NAME</p>
</div>
<div class="description">
<p>The string used to identify the class of this object.</p>
</div>
</div>
</div>
<div id="attrs" class="api-class-tabpanel">
<h2 class="off-left">Attributes</h2>
<div id="attr_clientId" class="attr item">
<a name="config_clientId"></a>
<h3 class="name"><code>clientId</code></h3>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<span class="flag readonly">readonly</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l953"><code>app/js/model.js:953</code></a>
</p>
</div>
<div class="description">
<p>A client-only identifier for this model.</p>
<p>Like the <code>id</code> attribute, <code>clientId</code> may be used to retrieve model
instances from lists. Unlike the <code>id</code> attribute, <code>clientId</code> is
automatically generated, and is only intended to be used on the client
during the current pageview.</p>
</div>
<div class="emits box">
<h4>Fires event <code>clientIdChange</code></h4>
<p>
Fires when the value for the configuration attribute <code>clientId</code> is
changed. You can listen for the event using the <code>on</code> method if you
wish to be notified before the attribute's value has changed, or
using the <code>after</code> method if you wish to be notified after the
attribute's value has changed.
</p>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">e</code>
<span class="type"><a href="../classes/EventFacade.html" class="crosslink">EventFacade</a></span>
<div class="param-description">
An Event Facade object with the following
attribute-specific properties added:
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">prevVal</code>
<span class="type">Any</span>
<div class="param-description">The value of the attribute, prior to it being set.</div>
</li>
<li class="param">
<code class="param-name">newVal</code>
<span class="type">Any</span>
<div class="param-description">The value the attribute is to be set to.</div>
</li>
<li class="param">
<code class="param-name">attrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">The name of the attribute being set.</div>
</li>
<li class="param">
<code class="param-name">subAttrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">If setting a property within the attribute's value, the name of the sub-attribute property being set.</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div id="attr_destroyed" class="attr item inherited">
<a name="config_destroyed"></a>
<h3 class="name"><code>destroyed</code></h3>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<span class="flag readonly">readonly</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#attr_destroyed">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l157"><code>base/js/BaseCore.js:157</code></a>
</p>
</div>
<div class="description">
<p>Flag indicating whether or not this object
has been through the destroy lifecycle phase.</p>
</div>
<p><strong>Default:</strong> false</p>
<div class="emits box">
<h4>Fires event <code>destroyedChange</code></h4>
<p>
Fires when the value for the configuration attribute <code>destroyed</code> is
changed. You can listen for the event using the <code>on</code> method if you
wish to be notified before the attribute's value has changed, or
using the <code>after</code> method if you wish to be notified after the
attribute's value has changed.
</p>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">e</code>
<span class="type"><a href="../classes/EventFacade.html" class="crosslink">EventFacade</a></span>
<div class="param-description">
An Event Facade object with the following
attribute-specific properties added:
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">prevVal</code>
<span class="type">Any</span>
<div class="param-description">The value of the attribute, prior to it being set.</div>
</li>
<li class="param">
<code class="param-name">newVal</code>
<span class="type">Any</span>
<div class="param-description">The value the attribute is to be set to.</div>
</li>
<li class="param">
<code class="param-name">attrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">The name of the attribute being set.</div>
</li>
<li class="param">
<code class="param-name">subAttrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">If setting a property within the attribute's value, the name of the sub-attribute property being set.</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div id="attr_id" class="attr item">
<a name="config_id"></a>
<h3 class="name"><code>id</code></h3>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a> | <a href="../classes/Number.html" class="crosslink">Number</a> | Null</span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l970"><code>app/js/model.js:970</code></a>
</p>
</div>
<div class="description">
<p>A unique identifier for this model. Among other things, this id may be
used to retrieve model instances from lists, so it should be unique.</p>
<p>If the id is empty, this model instance is assumed to represent a new
item that hasn't yet been saved.</p>
<p>If you would prefer to use a custom attribute as this model's id instead
of using the <code>id</code> attribute (for example, maybe you'd rather use <code>_id</code>
or <code>uid</code> as the primary id), you may set the <code>idAttribute</code> property to
the name of your custom id attribute. The <code>id</code> attribute will then
act as an alias for your custom attribute.</p>
</div>
<p><strong>Default:</strong> `null`</p>
<div class="emits box">
<h4>Fires event <code>idChange</code></h4>
<p>
Fires when the value for the configuration attribute <code>id</code> is
changed. You can listen for the event using the <code>on</code> method if you
wish to be notified before the attribute's value has changed, or
using the <code>after</code> method if you wish to be notified after the
attribute's value has changed.
</p>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">e</code>
<span class="type"><a href="../classes/EventFacade.html" class="crosslink">EventFacade</a></span>
<div class="param-description">
An Event Facade object with the following
attribute-specific properties added:
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">prevVal</code>
<span class="type">Any</span>
<div class="param-description">The value of the attribute, prior to it being set.</div>
</li>
<li class="param">
<code class="param-name">newVal</code>
<span class="type">Any</span>
<div class="param-description">The value the attribute is to be set to.</div>
</li>
<li class="param">
<code class="param-name">attrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">The name of the attribute being set.</div>
</li>
<li class="param">
<code class="param-name">subAttrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">If setting a property within the attribute's value, the name of the sub-attribute property being set.</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div id="attr_initialized" class="attr item inherited">
<a name="config_initialized"></a>
<h3 class="name"><code>initialized</code></h3>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Boolean" class="crosslink external" target="_blank">Boolean</a></span>
<span class="flag readonly">readonly</span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseCore.html#attr_initialized">BaseCore</a>:
<a href="../files/base_js_BaseCore.js.html#l143"><code>base/js/BaseCore.js:143</code></a>
</p>
</div>
<div class="description">
<p>Flag indicating whether or not this object
has been through the init lifecycle phase.</p>
</div>
<p><strong>Default:</strong> false</p>
<div class="emits box">
<h4>Fires event <code>initializedChange</code></h4>
<p>
Fires when the value for the configuration attribute <code>initialized</code> is
changed. You can listen for the event using the <code>on</code> method if you
wish to be notified before the attribute's value has changed, or
using the <code>after</code> method if you wish to be notified after the
attribute's value has changed.
</p>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">e</code>
<span class="type"><a href="../classes/EventFacade.html" class="crosslink">EventFacade</a></span>
<div class="param-description">
An Event Facade object with the following
attribute-specific properties added:
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">prevVal</code>
<span class="type">Any</span>
<div class="param-description">The value of the attribute, prior to it being set.</div>
</li>
<li class="param">
<code class="param-name">newVal</code>
<span class="type">Any</span>
<div class="param-description">The value the attribute is to be set to.</div>
</li>
<li class="param">
<code class="param-name">attrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">The name of the attribute being set.</div>
</li>
<li class="param">
<code class="param-name">subAttrName</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">If setting a property within the attribute's value, the name of the sub-attribute property being set.</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id="events" class="api-class-tabpanel">
<h2 class="off-left">Events</h2>
<div id="event_change" class="events item">
<h3 class="name"><code>change</code></h3>
<span class="type"></span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l30"><code>app/js/model.js:30</code></a>
</p>
</div>
<div class="description">
<p>Fired when one or more attributes on this model are changed.</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">changed</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>Hash of change information for each attribute that
changed. Each item in the hash has the following properties:</p>
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">newVal</code>
<span class="type">Any</span>
<div class="param-description">
<p>New value of the attribute.</p>
</div>
</li>
<li class="param">
<code class="param-name">prevVal</code>
<span class="type">Any</span>
<div class="param-description">
<p>Previous value of the attribute.</p>
</div>
</li>
<li class="param">
<code class="param-name">src</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a> | Null</span>
<div class="param-description">
<p>Source of the change event, if any.</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="event_destroy" class="events item inherited">
<h3 class="name"><code>destroy</code></h3>
<span class="type"></span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseObservable.html#event_destroy">BaseObservable</a>:
<a href="../files/base_js_BaseObservable.js.html#l151"><code>base/js/BaseObservable.js:151</code></a>
</p>
</div>
<div class="description">
<p>
Lifecycle event for the destroy phase,
fired prior to destruction. Invoking the preventDefault
method on the event object provided to subscribers will
prevent destruction from proceeding.
</p>
<p>
Subscribers to the "after" moment of this event, will be notified
after destruction is complete (and as a result cannot prevent
destruction).
</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">e</code>
<span class="type"><a href="../classes/EventFacade.html" class="crosslink">EventFacade</a></span>
<div class="param-description">
<p>Event object</p>
</div>
</li>
</ul>
</div>
</div>
<div id="event_error" class="events item">
<h3 class="name"><code>error</code></h3>
<span class="type"></span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l42"><code>app/js/model.js:42</code></a>
</p>
</div>
<div class="description">
<p>Fired when an error occurs, such as when the model doesn't validate or when
a sync layer response can't be parsed.</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">error</code>
<span class="type">Any</span>
<div class="param-description">
<p>Error message, object, or exception generated by the
error. Calling <code>toString()</code> on this should result in a meaningful error
message.</p>
</div>
</li>
<li class="param">
<code class="param-name">src</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span>
<div class="param-description">
<p>Source of the error. May be one of the following (or any
custom error source defined by a Model subclass):</p>
<ul>
<li><p><code>load</code>: An error loading the model from a sync layer. The sync layer's
response (if any) will be provided as the <code>response</code> property on the
event facade.</p></li>
<li><p><code>parse</code>: An error parsing a JSON response. The response in question will
be provided as the <code>response</code> property on the event facade.</p></li>
<li><p><code>save</code>: An error saving the model to a sync layer. The sync layer's
response (if any) will be provided as the <code>response</code> property on the
event facade.</p></li>
<li><p><code>validate</code>: The model failed to validate. The attributes being validated
will be provided as the <code>attributes</code> property on the event facade.</p></li>
</ul>
</div>
</li>
</ul>
</div>
</div>
<div id="event_init" class="events item inherited">
<h3 class="name"><code>init</code></h3>
<span class="type"></span>
<div class="meta">
<p>Inherited from
<a href="../classes/BaseObservable.html#event_init">BaseObservable</a>:
<a href="../files/base_js_BaseObservable.js.html#l62"><code>base/js/BaseObservable.js:62</code></a>
</p>
</div>
<div class="description">
<p>
Lifecycle event for the init phase, fired prior to initialization.
Invoking the preventDefault() method on the event object provided
to subscribers will prevent initialization from occuring.
</p>
<p>
Subscribers to the "after" momemt of this event, will be notified
after initialization of the object is complete (and therefore
cannot prevent initialization).
</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">e</code>
<span class="type"><a href="../classes/EventFacade.html" class="crosslink">EventFacade</a></span>
<div class="param-description">
<p>Event object, with a cfg property which
refers to the configuration object passed to the constructor.</p>
</div>
</li>
</ul>
</div>
</div>
<div id="event_load" class="events item">
<h3 class="name"><code>load</code></h3>
<span class="type"></span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l69"><code>app/js/model.js:69</code></a>
</p>
<p>Available since 3.5.0</p>
</div>
<div class="description">
<p>Fired after model attributes are loaded from a sync layer.</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">parsed</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<div class="param-description">
<p>The parsed version of the sync layer's response to
the load request.</p>
</div>
</li>
<li class="param">
<code class="param-name">response</code>
<span class="type">Any</span>
<div class="param-description">
<p>The sync layer's raw, unparsed response to the load
request.</p>
</div>
</li>
</ul>
</div>
</div>
<div id="event_save" class="events item">
<h3 class="name"><code>save</code></h3>
<span class="type"></span>
<div class="meta">
<p>
Defined in
<a href="../files/app_js_model.js.html#l81"><code>app/js/model.js:81</code></a>
</p>
<p>Available since 3.5.0</p>
</div>
<div class="description">
<p>Fired after model attributes are saved to a sync layer.</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[parsed]</code>
<span class="type"><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" class="crosslink external" target="_blank">Object</a></span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>The parsed version of the sync layer's response to
the save request, if there was a response.</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[response]</code>
<span class="type">Any</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>The sync layer's raw, unparsed response to the save
request, if there was one.</p>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../assets/vendor/prettify/prettify-min.js"></script>
<script>prettyPrint();</script>
<script src="../assets/js/yui-prettify.js"></script>
<script src="../assets/../api.js"></script>
<script src="../assets/js/api-filter.js"></script>
<script src="../assets/js/api-list.js"></script>
<script src="../assets/js/api-search.js"></script>
<script src="../assets/js/apidocs.js"></script>
</body>
</html>