| 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 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 | 279 |
| 280 if (nextSelectedElement) { | 280 if (nextSelectedElement) { |
| 281 nextSelectedElement.reveal(); | 281 nextSelectedElement.reveal(); |
| 282 nextSelectedElement.select(false, true); | 282 nextSelectedElement.select(false, true); |
| 283 } | 283 } |
| 284 | 284 |
| 285 if (handled) | 285 if (handled) |
| 286 event.consume(true); | 286 event.consume(true); |
| 287 }, | 287 }, |
| 288 | 288 |
| 289 /** |
| 290 * @param {!TreeElement} treeElement |
| 291 * @param {boolean} center |
| 292 */ |
| 293 _deferredScrollIntoView: function(treeElement, center) |
| 294 { |
| 295 if (!this._treeElementToScrollIntoView) |
| 296 this.element.window().requestAnimationFrame(deferredScrollIntoView.b
ind(this)); |
| 297 this._treeElementToScrollIntoView = treeElement; |
| 298 this._centerUponScrollIntoView = center; |
| 299 /** |
| 300 * @this {TreeOutline} |
| 301 */ |
| 302 function deferredScrollIntoView() |
| 303 { |
| 304 this._treeElementToScrollIntoView.listItemElement.scrollIntoViewIfNe
eded(this._centerUponScrollIntoView); |
| 305 delete this._treeElementToScrollIntoView; |
| 306 delete this._centerUponScrollIntoView; |
| 307 } |
| 308 }, |
| 309 |
| 289 __proto__: WebInspector.Object.prototype | 310 __proto__: WebInspector.Object.prototype |
| 290 } | 311 } |
| 291 | 312 |
| 292 /** | 313 /** |
| 293 * @constructor | 314 * @constructor |
| 294 * @extends {TreeOutline} | 315 * @extends {TreeOutline} |
| 295 * @param {string=} className | 316 * @param {string=} className |
| 296 */ | 317 */ |
| 297 function TreeOutlineInShadow(className) | 318 function TreeOutlineInShadow(className) |
| 298 { | 319 { |
| (...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 845 maxDepth = 3; | 866 maxDepth = 3; |
| 846 | 867 |
| 847 while (item) { | 868 while (item) { |
| 848 if (depth < maxDepth) | 869 if (depth < maxDepth) |
| 849 item.expand(); | 870 item.expand(); |
| 850 item = item.traverseNextTreeElement(false, this, (depth >= maxDepth)
, info); | 871 item = item.traverseNextTreeElement(false, this, (depth >= maxDepth)
, info); |
| 851 depth += info.depthChange; | 872 depth += info.depthChange; |
| 852 } | 873 } |
| 853 }, | 874 }, |
| 854 | 875 |
| 855 reveal: function() | 876 /** |
| 877 * @param {boolean=} center |
| 878 */ |
| 879 reveal: function(center) |
| 856 { | 880 { |
| 857 var currentAncestor = this.parent; | 881 var currentAncestor = this.parent; |
| 858 while (currentAncestor && !currentAncestor.root) { | 882 while (currentAncestor && !currentAncestor.root) { |
| 859 if (!currentAncestor.expanded) | 883 if (!currentAncestor.expanded) |
| 860 currentAncestor.expand(); | 884 currentAncestor.expand(); |
| 861 currentAncestor = currentAncestor.parent; | 885 currentAncestor = currentAncestor.parent; |
| 862 } | 886 } |
| 863 | 887 |
| 864 this.listItemElement.scrollIntoViewIfNeeded(); | 888 this.treeOutline._deferredScrollIntoView(this, !!center); |
| 865 | |
| 866 this.onreveal(); | |
| 867 }, | 889 }, |
| 868 | 890 |
| 869 /** | 891 /** |
| 870 * @return {boolean} | 892 * @return {boolean} |
| 871 */ | 893 */ |
| 872 revealed: function() | 894 revealed: function() |
| 873 { | 895 { |
| 874 var currentAncestor = this.parent; | 896 var currentAncestor = this.parent; |
| 875 while (currentAncestor && !currentAncestor.root) { | 897 while (currentAncestor && !currentAncestor.root) { |
| 876 if (!currentAncestor.expanded) | 898 if (!currentAncestor.expanded) |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 916 this._listItemNode.classList.add("selected"); | 938 this._listItemNode.classList.add("selected"); |
| 917 this.treeOutline.dispatchEventToListeners(TreeOutline.Events.ElementSele
cted, this); | 939 this.treeOutline.dispatchEventToListeners(TreeOutline.Events.ElementSele
cted, this); |
| 918 return this.onselect(selectedByUser); | 940 return this.onselect(selectedByUser); |
| 919 }, | 941 }, |
| 920 | 942 |
| 921 /** | 943 /** |
| 922 * @param {boolean=} omitFocus | 944 * @param {boolean=} omitFocus |
| 923 */ | 945 */ |
| 924 revealAndSelect: function(omitFocus) | 946 revealAndSelect: function(omitFocus) |
| 925 { | 947 { |
| 926 this.reveal(); | 948 this.reveal(true); |
| 927 this.select(omitFocus); | 949 this.select(omitFocus); |
| 928 }, | 950 }, |
| 929 | 951 |
| 930 /** | 952 /** |
| 931 * @param {boolean=} supressOnDeselect | 953 * @param {boolean=} supressOnDeselect |
| 932 */ | 954 */ |
| 933 deselect: function(supressOnDeselect) | 955 deselect: function(supressOnDeselect) |
| 934 { | 956 { |
| 935 if (!this.treeOutline || this.treeOutline.selectedTreeElement !== this |
| !this.selected) | 957 if (!this.treeOutline || this.treeOutline.selectedTreeElement !== this |
| !this.selected) |
| 936 return; | 958 return; |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 999 | 1021 |
| 1000 /** | 1022 /** |
| 1001 * @param {!Event} e | 1023 * @param {!Event} e |
| 1002 * @return {boolean} | 1024 * @return {boolean} |
| 1003 */ | 1025 */ |
| 1004 ondblclick: function(e) | 1026 ondblclick: function(e) |
| 1005 { | 1027 { |
| 1006 return false; | 1028 return false; |
| 1007 }, | 1029 }, |
| 1008 | 1030 |
| 1009 onreveal: function() | |
| 1010 { | |
| 1011 }, | |
| 1012 | |
| 1013 /** | 1031 /** |
| 1014 * @param {boolean=} selectedByUser | 1032 * @param {boolean=} selectedByUser |
| 1015 * @return {boolean} | 1033 * @return {boolean} |
| 1016 */ | 1034 */ |
| 1017 onselect: function(selectedByUser) | 1035 onselect: function(selectedByUser) |
| 1018 { | 1036 { |
| 1019 return false; | 1037 return false; |
| 1020 }, | 1038 }, |
| 1021 | 1039 |
| 1022 /** | 1040 /** |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1093 isEventWithinDisclosureTriangle: function(event) | 1111 isEventWithinDisclosureTriangle: function(event) |
| 1094 { | 1112 { |
| 1095 // FIXME: We should not use getComputedStyle(). For that we need to get
rid of using ::before for disclosure triangle. (http://webk.it/74446) | 1113 // FIXME: We should not use getComputedStyle(). For that we need to get
rid of using ::before for disclosure triangle. (http://webk.it/74446) |
| 1096 var paddingLeftValue = window.getComputedStyle(this._listItemNode).paddi
ngLeft; | 1114 var paddingLeftValue = window.getComputedStyle(this._listItemNode).paddi
ngLeft; |
| 1097 console.assert(paddingLeftValue.endsWith("px")); | 1115 console.assert(paddingLeftValue.endsWith("px")); |
| 1098 var computedLeftPadding = parseFloat(paddingLeftValue); | 1116 var computedLeftPadding = parseFloat(paddingLeftValue); |
| 1099 var left = this._listItemNode.totalOffsetLeft() + computedLeftPadding; | 1117 var left = this._listItemNode.totalOffsetLeft() + computedLeftPadding; |
| 1100 return event.pageX >= left && event.pageX <= left + TreeElement._ArrowTo
ggleWidth && this._expandable; | 1118 return event.pageX >= left && event.pageX <= left + TreeElement._ArrowTo
ggleWidth && this._expandable; |
| 1101 } | 1119 } |
| 1102 } | 1120 } |
| OLD | NEW |