| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 517 this.treeOutline._bindTreeElement(current); | 517 this.treeOutline._bindTreeElement(current); |
| 518 child.onattach(); | 518 child.onattach(); |
| 519 child._ensureSelection(); | 519 child._ensureSelection(); |
| 520 if (this.treeOutline) | 520 if (this.treeOutline) |
| 521 this.treeOutline.dispatchEventToListeners(TreeOutline.Events.Element
Attached, child); | 521 this.treeOutline.dispatchEventToListeners(TreeOutline.Events.Element
Attached, child); |
| 522 var nextSibling = child.nextSibling ? child.nextSibling._listItemNode :
null; | 522 var nextSibling = child.nextSibling ? child.nextSibling._listItemNode :
null; |
| 523 this._childrenListNode.insertBefore(child._listItemNode, nextSibling); | 523 this._childrenListNode.insertBefore(child._listItemNode, nextSibling); |
| 524 this._childrenListNode.insertBefore(child._childrenListNode, nextSibling
); | 524 this._childrenListNode.insertBefore(child._childrenListNode, nextSibling
); |
| 525 if (child.selected) | 525 if (child.selected) |
| 526 child.select(); | 526 child.select(); |
| 527 if (child.expanded) |
| 528 child.expand(); |
| 527 }, | 529 }, |
| 528 | 530 |
| 529 /** | 531 /** |
| 530 * @param {number} childIndex | 532 * @param {number} childIndex |
| 531 */ | 533 */ |
| 532 removeChildAtIndex: function(childIndex) | 534 removeChildAtIndex: function(childIndex) |
| 533 { | 535 { |
| 534 if (childIndex < 0 || childIndex >= this._children.length) | 536 if (childIndex < 0 || childIndex >= this._children.length) |
| 535 throw "childIndex out of range"; | 537 throw "childIndex out of range"; |
| 536 | 538 |
| (...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 874 var item = this; | 876 var item = this; |
| 875 while (item) { | 877 while (item) { |
| 876 if (item.expanded) | 878 if (item.expanded) |
| 877 item.collapse(); | 879 item.collapse(); |
| 878 item = item.traverseNextTreeElement(false, this, true); | 880 item = item.traverseNextTreeElement(false, this, true); |
| 879 } | 881 } |
| 880 }, | 882 }, |
| 881 | 883 |
| 882 expand: function() | 884 expand: function() |
| 883 { | 885 { |
| 884 if (!this._expandable || this.expanded) | 886 if (!this._expandable || (this.expanded && this._children)) |
| 885 return; | 887 return; |
| 886 | 888 |
| 887 // Set this before onpopulate. Since onpopulate can add elements, this m
akes | 889 // Set this before onpopulate. Since onpopulate can add elements, this m
akes |
| 888 // sure the expanded flag is true before calling those functions. This p
revents the possibility | 890 // sure the expanded flag is true before calling those functions. This p
revents the possibility |
| 889 // of an infinite loop if onpopulate were to call expand. | 891 // of an infinite loop if onpopulate were to call expand. |
| 890 | 892 |
| 891 this.expanded = true; | 893 this.expanded = true; |
| 892 | 894 |
| 893 this._populateIfNeeded(); | 895 this._populateIfNeeded(); |
| 894 this._listItemNode.classList.add("expanded"); | 896 this._listItemNode.classList.add("expanded"); |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1161 isEventWithinDisclosureTriangle: function(event) | 1163 isEventWithinDisclosureTriangle: function(event) |
| 1162 { | 1164 { |
| 1163 // FIXME: We should not use getComputedStyle(). For that we need to get
rid of using ::before for disclosure triangle. (http://webk.it/74446) | 1165 // FIXME: We should not use getComputedStyle(). For that we need to get
rid of using ::before for disclosure triangle. (http://webk.it/74446) |
| 1164 var paddingLeftValue = window.getComputedStyle(this._listItemNode).paddi
ngLeft; | 1166 var paddingLeftValue = window.getComputedStyle(this._listItemNode).paddi
ngLeft; |
| 1165 console.assert(paddingLeftValue.endsWith("px")); | 1167 console.assert(paddingLeftValue.endsWith("px")); |
| 1166 var computedLeftPadding = parseFloat(paddingLeftValue); | 1168 var computedLeftPadding = parseFloat(paddingLeftValue); |
| 1167 var left = this._listItemNode.totalOffsetLeft() + computedLeftPadding; | 1169 var left = this._listItemNode.totalOffsetLeft() + computedLeftPadding; |
| 1168 return event.pageX >= left && event.pageX <= left + TreeElement._ArrowTo
ggleWidth && this._expandable; | 1170 return event.pageX >= left && event.pageX <= left + TreeElement._ArrowTo
ggleWidth && this._expandable; |
| 1169 } | 1171 } |
| 1170 } | 1172 } |
| OLD | NEW |