1TreeView - Release Notes
2
32.9.0
4 * webkit +/- key capture fixed.
5
62.8.2
7 * HTML content is escaped when building nodes.
8
92.8.1
10 * No change
11
122.8.0
13 * No new features were added
14 * Fixed #2527720: TextNode with href didn't navigate to location
15 * Fixed #2527920: When moving with right arrow to a dynamic
16 node not already loaded, focus would pass to immediate
17 sibling instead of first child of loaded children
18 * Fixed #2455223: Opacity of nodes was not always restored once
19 faded out
20 * Fixed #2528017: On nodes loaded dynamically, highlight didn't
21 propagate down.
22 * Icon pre-loading function was dropped
23 * Fixed #2528296: method highlight didn't pass on the _silent flag
24 when calling unhighlight, making it fire events.
25
262.7.0
27 * Added node highlighting/selection with single and multi-node
28 selection and propagation up and down
29 * Improved focus functionality: property currentFocus,
30 event focusChanged, methods _canHaveFocus and _removeFocus.
31 The focus method has been improved so it can be safely called
32 by the developer. If called on a Node in a collapsed branch,
33 said branch will be expanded from the root so all unexpanded
34 nodes will be rendered
35 * buildTreeFromObject: type can also contain a reference
36 to an actual object class
37 * buildTreeFromMarkup: improved parsing. It can read an
38 HTML attribute called yuiConfig which can override any
39 property read from the markup. It assembles an object
40 literal which then passes to buildTreeFromObject.
41 * Event handling: the event listeners for UI events set in
42 method render had been moved from anonymous inner functions to
43 private methods, allowing for easy overriding:
44 _onClickEvent, _onDblClickEvent, _onMouseOverEvent,
45 _onMouseOutEvent and _onKeyDownEvent and helper function
46 _getEventTargetTdEl
47 * Configuration properties, the first argument to a Node constructor
48 will now go to either an actual Node property if it exists
49 or to member Node.data otherwise, not to both.
50 * Methods getNodeByProperty and getNodesByProperty have been
51 changed to look for property values either as native properties
52 or in Node.data.
53 * destroy method now destroys the content of the tree container
54 not the container itself.
55 * classNames ygtvtable, ygtvrow and ygtvcell have been added
56 to make it easier to identify elements in the generated HTML
57 * getNodeDefinition: fixed bug where original configuration
58 would continue to be reported in its initial state
59 (initially expanded nodes would always report expanded
60 even when later collapsed).
61 * refresh method was overriden in TextNode to refresh
62 the node label.
63 * Node editor accepts a validator function which can convert
64 the entered value and validate it, rejecting it by returning
65 undefined (not false, which might be a valid value).
66 Method saveEditorValue can prevent the pop up editor from
67 closing by returning false. If validator returns undefined,
68 saveEditorValue will return false.
69 * Properties href and target were moved from Node to TextNode,
70 which is the lowest point in the hierarchy that uses these
71 properties.
72 * Method getNodeDefinition was not serializing all properties
73 for every node type.
74 * Added method setNodesProperty to globaly set a property on
75 all nodes of a branch or the whole tree.
76 * JSON utility is now an optional dependency for TreeView when
77 enhancing markup containing the yuiConfig attribute.
78
79
802.6.0
81 * Keyboard Navigation
82 * Delegated event listeners replace the inline listeners
83 * Tree serialization/deserialization
84 * Build tree from existing markup
85 * Node click and dblclick events
86 * DateNode (calendar control integration)
87 * Editable node labels (double-click to edit the label)
88 * render/destroy methods
89
902.5.2
91 * Made CSS adjustments to work with base.css
92
932.5.1
94 * No change
95
962.5.0
97 * Added isLeaf property to Node that allows dynamically loaded trees to
98 have nodes that are not dynamically loaded (without configuring dynamic
99 load for each individual dynamic node, which was the requirement previously).
100 If set to true, dynamic loading will be disabled for the node and it
101 will always have the leaf node presentation (rather than the expand icon).
102 * Made CSS adjustments to work with base.css
103 * HTMLNode: removed unused property 'content', and documented the correct
104 property 'html'.
105
1062.4.0
107 * added TreeView getNodeByElement, which will return a YAHOO.widget.Node
108 reference for any ancestor HTML element of a node in the tree.
109 * Added 'title' property to TextNode
110 * Added treeview/tooltip example
111 * Passing a null or invalid animation type to setExpandAnim/setCollapseAnim
112 will turn off animation for the tree.
113 * Spacer style set to 12px width to fix layout inside overflow containers.
114 * Fixed removeAll() when executed on the root node.
115 * TextNode's href property is now escaped.
116 * The 'expanded' property in a node's constructor now works for dynamically
117 loaded nodes.
118
1192.3.1
120
121 * The "expand" event no longer fires twice for dynamically loaded nodes.
122
123 * Added setHtml() to HTMLNode, which will synchronize the html and data
124 properties, as well as the content of the node if it has been rendered.
125
1262.3.0
127
128 * The image preload feature was restored.
129
130 * Added the new skin
131
132 * Leaf nodes created with expanded=true have the child div hidden initially
133 to work around an IE rendering issue.
134
1352.2.2
136
137 * No change
138
1392.2.1
140
141 * Fixed the default value in the documentation for the nowrap property in Node
142 (the default value is false).
143
1442.2.0
145
146 * Node::insertAfter properly nulls the nextSibling attribute when the
147 inserted before the firstChild.
148
149 * MenuNodes inserted at the root level will no longer lose the menu behavior.
150
151 * TextNode::setUpLabel sets the data.label property as well as the label property.
152
153 * TaskNode example: made the logger optional, and moved the creation of the logger
154 instance to the proper location.
155
156 * TaskNodes added to a node that is in a fully selected state will update the
157 parent to a partially selected state.
158
159 * TaskNode example fixed to propagate the labelClick event
160
161
1620.12.2
163
164 * removeChildren will now work properly on the root node.
165
1660.12.1
167
168 * Added custom events for expandComplete and collapseComplete. These events are
169 needed in situations where the implementer needs to resize or reposition
170 something based on the new offset.
171
172 * Added a "nowrap" property to Node, and set the default to false. Specifies
173 whether or not the content area of the node should be allowed to wrap
174 naturally.
175
176 * Added additional HTML elements to preserve the tree presentation when constrained
177 by a parent element.
178
1790.12.0
180
181 * TreeView now augments EventProvider, and has custom events for expand,
182 collapse, animStart, animComplete, and labelClick. Existing implementations
183 using abstract methods for these events (if they exist) will still work.
184 New events can be plugged into the tree by the Node implementation. For
185 example, TaskNode adds a checkClick event. EventProvider makes it safe
186 to do this because implementing code can call subscribe() prior to the
187 event creation.
188
189 * YAHOO.util.Event is now a requirement for the widget
190
191 * TreeView::removeChildren no longer expands and collapses the node.
192
193 * Documented the moveComplete property
194
195 * createElement("DIV") changed to createElement("div")
196
1970.11.4
198
199 * Fixed a javascript error on the HTML node example page.
200
2010.11.3
202
203 * popNode now clears the tree, previousSibling, nextSibling, and parent
204 properties of the node that is being removed from the tree.
205
206 * Fixed the paths to the images in the tree.css file that is included in
207 build/assets.
208
2090.11.0
210
211 * Added TreeView -> popNode, which differs from removeNode in that the
212 node's children are preserved so the entire branch can be re-inserted
213 into another part of the tree, or another tree.
214
215 * Added TreeView -> getNodesByProperty, which differs from
216 getNodeByProperty by returning an array of all nodes that have the
217 specified property rather than just the first one.
218
219 * Added Node -> insertBefore, insertAfter, and appendTo. These method
220 can be used to reorganize the tree.
221
222 * removeChildren properly resets the node icon when executed against a
223 collpased node.
224
225 * Moved depth assignment from the constructor to appendChild so that the
226 value is set properly if the node is moved within the tree.
227
228 * Fixed broken loop in removeChildren.
229
230 * RootNode -> loadComplete calls tree.draw for hot-wiring the dynamic load
231 feature for the top level nodes.
232
233 * The treeview constructor will accept an element instead of an id.
234
2350.10.0
236
237 * If the child collection changes prior to a refresh(), the icon is now
238 changed appropriately.
239
240 * Added TreeView removeChildren(node). This will recursively purge the node's
241 children, and reset its dynamic load state.
242
243 * previousSibling and nextSibling are now adjusted correctly when a
244 node is deleted.
245
246 * expand()/collapse() now will not expand/collapse the node if false is
247 returned from the onExpand/onCollapse event handlers.
248
249 * The onExpand and onCollapse events now fire before the node is expanded
250 or collapsed so that the implementer can modify the node's child collection
251 prior to display.
252
253 * The childrenRendered property previous was used to indicate both that
254 a dynamically loaded node has received its data, and also to indicate
255 that the children html has been created. This has been split into
256 two properties. dynamicLoadComplete and childrenRendered.
257
258 * Implemented the renderHidden flag. If set to true, the html for the entire
259 tree will be created when tree.draw() is called, not just the html for the
260 visible nodes.
261
262 * Added an onLabelClick listener to TextNode
263
264 * TreeView.removeNode no longer automatically refreshes the tree. It has an
265 optional parameter to perform the refresh.
266
267 * removeNode can now be executed on nodes that have not been rendered.
268
269 * You can now delete top-level nodes.
270
271 * Added onCheckClick listener to the TaskNode example
272
273 * Added Node.iconMode, which is a property that configures the way
274 dynamically loaded nodes are displayed when they are expanded and contain
275 no children.
276
277 * TreeView/Node.setDynamicLoad now accepts an optional second parameter to
278 set the iconMode property.
279
280 * Fixed an issue in the TaskNode.js example that prevented setting the checked
281 state of a node through the constructor.
282
283 * Fixed an issue in HTMLNode that caused rendering issues when hasIcon was
284 set to true.
285
286 * Added TreeView.removeNode
287
288 * Added Node.refresh
289