Commit 28194726 authored by Gary Blackwood's avatar Gary Blackwood Committed by Jason Laster
Browse files

Bug 1520957 - [release 119] Improve the expand/collapse all behaviour of the...

Bug 1520957 - [release 119] Improve the expand/collapse all behaviour of the Sources tree (#7664). r=dwalsh
parent 51e4b489
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5026,7 +5026,7 @@ class Tree extends Component {
          // it should be scrolled into view.
          this._focus(item, { preventAutoScroll: true });
          if (this.props.isExpanded(item)) {
            this.props.onCollapse(item);
            this.props.onCollapse(item, e.altKey);
          } else {
            this.props.onExpand(item, e.altKey);
          }
+1 −5
Original line number Diff line number Diff line
@@ -83,8 +83,6 @@ type State = {
  highlightItems?: any
};

type SetExpanded = (item: TreeNode, expanded: boolean, altKey: boolean) => void;

class SourcesTree extends Component<Props, State> {
  mounted: boolean;

@@ -266,8 +264,7 @@ class SourcesTree extends Component<Props, State> {
    depth: number,
    focused: boolean,
    _,
    expanded: boolean,
    { setExpanded }: { setExpanded: SetExpanded }
    expanded: boolean
  ) => {
    const { debuggeeUrl, projectRoot } = this.props;

@@ -282,7 +279,6 @@ class SourcesTree extends Component<Props, State> {
        source={this.getSource(item)}
        debuggeeUrl={debuggeeUrl}
        projectRoot={projectRoot}
        setExpanded={setExpanded}
      />
    );
  };
+2 −5
Original line number Diff line number Diff line
@@ -40,7 +40,6 @@ type Props = {
  expanded: boolean,
  hasMatchingGeneratedSource: boolean,
  hasSiblingOfSameName: boolean,
  setExpanded: (TreeNode, boolean, boolean) => void,
  focusItem: TreeNode => void,
  selectItem: TreeNode => void,
  clearProjectDirectoryRoot: typeof actions.clearProjectDirectoryRoot,
@@ -83,13 +82,11 @@ class SourceTreeItem extends Component<Props, State> {
  }

  onClick = (e: MouseEvent) => {
    const { expanded, item, focusItem, setExpanded, selectItem } = this.props;
    const { item, focusItem, selectItem } = this.props;

    focusItem(item);

    if (isDirectory(item)) {
      setExpanded(item, !!expanded, e.altKey);
    } else {
    if (!isDirectory(item)) {
      selectItem(item);
    }
  };
+2 −10
Original line number Diff line number Diff line
@@ -236,13 +236,11 @@ describe("SourceTreeItem", () => {

    it("should focus on and select item on click", async () => {
      const event = { event: "click" };
      const setExpanded = jest.fn();
      const selectItem = jest.fn();
      const { component, instance, props } = render({
        depth: 1,
        focused: true,
        expanded: false,
        setExpanded,
        selectItem
      });

@@ -250,26 +248,21 @@ describe("SourceTreeItem", () => {
      component.simulate("click", event);
      await component.simulate("keydown", { keyCode: 13 });
      expect(props.selectItem).toHaveBeenCalledWith(item);
      expect(setExpanded).not.toHaveBeenCalled();
    });

    it("should focus on and expand directory on click", async () => {
      const setExpanded = jest.fn();
    it("should focus on directory on click", async () => {
      const selectItem = jest.fn();

      const { component, instance, props } = render({
      const { component, props } = render({
        item: createMockDirectory(),
        source: null,
        depth: 1,
        focused: true,
        expanded: false,
        setExpanded,
        selectItem
      });

      const { item } = instance.props;
      component.simulate("click", { event: "click" });
      expect(setExpanded).toHaveBeenCalledWith(item, false, undefined);
      expect(props.selectItem).not.toHaveBeenCalled();
    });
  });
@@ -295,7 +288,6 @@ function generateDefaults(overrides) {
    projectRoot: "",
    clearProjectDirectoryRoot: jest.fn(),
    setProjectDirectoryRoot: jest.fn(),
    setExpanded: jest.fn(),
    selectItem: jest.fn(),
    focusItem: jest.fn(),
    ...overrides
+0 −36
Original line number Diff line number Diff line
@@ -72,7 +72,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": Object {
        "contentType": "",
@@ -120,7 +119,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={
            Object {
@@ -207,7 +205,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": Object {
      "contentType": "",
@@ -277,7 +274,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": Object {
        "contentType": "",
@@ -325,7 +321,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={
            Object {
@@ -394,7 +389,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": Object {
      "contentType": "",
@@ -453,7 +447,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": Object {
        "contentType": "",
@@ -490,7 +483,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={
            Object {
@@ -548,7 +540,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": Object {
      "contentType": "",
@@ -608,7 +599,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": Object {
        "contentType": "",
@@ -646,7 +636,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={
            Object {
@@ -705,7 +694,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": Object {
      "contentType": "",
@@ -765,7 +753,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": null,
    },
@@ -792,7 +779,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={null}
        />,
@@ -838,7 +824,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": null,
  },
@@ -885,7 +870,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": Object {
        "contentType": "",
@@ -921,7 +905,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={
            Object {
@@ -978,7 +961,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": Object {
      "contentType": "",
@@ -1036,7 +1018,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": null,
    },
@@ -1061,7 +1042,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={null}
        />,
@@ -1105,7 +1085,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": null,
  },
@@ -1154,7 +1133,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": null,
    },
@@ -1181,7 +1159,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={null}
        />,
@@ -1227,7 +1204,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": null,
  },
@@ -1275,7 +1251,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": Object {
        "contentType": "",
@@ -1312,7 +1287,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={
            Object {
@@ -1370,7 +1344,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": Object {
      "contentType": "",
@@ -1428,7 +1401,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": Object {
        "contentType": "",
@@ -1464,7 +1436,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={
            Object {
@@ -1521,7 +1492,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": Object {
      "contentType": "",
@@ -1603,7 +1573,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": Object {
        "contentType": "",
@@ -1650,7 +1619,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={
            Object {
@@ -1731,7 +1699,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": Object {
      "contentType": "",
@@ -1814,7 +1781,6 @@ Object {
      },
      "projectRoot": "",
      "selectItem": [MockFunction],
      "setExpanded": [MockFunction],
      "setProjectDirectoryRoot": [MockFunction],
      "source": Object {
        "contentType": "",
@@ -1862,7 +1828,6 @@ Object {
          }
          projectRoot=""
          selectItem={[MockFunction]}
          setExpanded={[MockFunction]}
          setProjectDirectoryRoot={[MockFunction]}
          source={
            Object {
@@ -1944,7 +1909,6 @@ Object {
    },
    "projectRoot": "",
    "selectItem": [MockFunction],
    "setExpanded": [MockFunction],
    "setProjectDirectoryRoot": [MockFunction],
    "source": Object {
      "contentType": "",
Loading