Bug 1544710 - ensure that selected row is always visible within TreeView after update. Clean up scroll into view operations across all uses of TreeView. r=mtigley

Differential Revision: https://phabricator.services.mozilla.com/D29342
This commit is contained in:
Yura Zenevich
2019-05-02 04:32:33 +00:00
parent 8d6c9f99fa
commit 088be1e4de
12 changed files with 255 additions and 61 deletions

View File

@@ -21,8 +21,6 @@ define(function(require, exports, module) {
const TreeCell = createFactory(require("./TreeCell"));
const LabelCell = createFactory(require("./LabelCell"));
// Scroll
const { scrollIntoViewIfNeeded } = require("devtools/client/shared/scroll");
const { focusableSelector } = require("devtools/client/shared/focus");
const UPDATE_ON_PROPS = [
@@ -123,17 +121,6 @@ define(function(require, exports, module) {
return false;
}
componentDidUpdate() {
if (this.props.member.selected) {
const row = findDOMNode(this);
// Because this is called asynchronously, context window might be
// already gone.
if (row.ownerDocument.defaultView) {
scrollIntoViewIfNeeded(row);
}
}
}
componentWillUnmount() {
this.observer.disconnect();
this.observer = null;