diff --git a/src/explorer/legacy/App.js b/src/explorer/legacy/App.js index e60b55c..184e0b7 100644 --- a/src/explorer/legacy/App.js +++ b/src/explorer/legacy/App.js @@ -20,7 +20,6 @@ import { type StateTransitionMachineInterface, initialState, } from "./state"; -import {userNodeType} from "../../plugins/github/declaration"; const credOverviewUrl = "https://discourse.sourcecred.io/t/a-gentle-introduction-to-cred/20"; @@ -116,7 +115,6 @@ export function createApp( const pnd = appState.pagerankNodeDecomposition; pagerankTable = ( , +graph: Graph, +maxEntriesPerList: number, - +defaultNodeType: ?NodeType, +manualWeights: Map, +onManualWeightsChange: (NodeAddressT, number) => void, +weightConfig: React$Element, +weightFileManager: React$Element, |}; type PagerankTableState = {| - selectedNodeTypePrefix: NodeAddressT, + selectedNodeTypePrefix: NodeAddressT | null, showWeightConfig: boolean, |}; export class PagerankTable extends React.PureComponent< PagerankTableProps, PagerankTableState > { - constructor(props: PagerankTableProps): void { + constructor(): void { super(); - const {defaultNodeType} = props; - const selectedNodeTypePrefix = - defaultNodeType != null ? defaultNodeType.prefix : NodeAddress.empty; this.state = { - selectedNodeTypePrefix, + selectedNodeTypePrefix: null, showWeightConfig: false, }; } @@ -135,6 +130,15 @@ export class PagerankTable extends React.PureComponent< onManualWeightsChange, graph, }; + const userTypes = [].concat(...declarations.map((p) => p.userTypes)); + const userPrefixes = userTypes.map((x) => x.prefix); + const filterAllUsers = (n) => + userPrefixes.some((p) => NodeAddress.hasPrefix(n, p)); + const {selectedNodeTypePrefix} = this.state; + const nodeFilter = + selectedNodeTypePrefix == null + ? filterAllUsers + : (n) => NodeAddress.hasPrefix(n, selectedNodeTypePrefix); return ( - NodeAddress.hasPrefix(node, this.state.selectedNodeTypePrefix) - )} + nodes={Array.from(pnd.keys()).filter(nodeFilter)} />
diff --git a/src/explorer/legacy/pagerankTable/Table.test.js b/src/explorer/legacy/pagerankTable/Table.test.js index 9747de9..766a396 100644 --- a/src/explorer/legacy/pagerankTable/Table.test.js +++ b/src/explorer/legacy/pagerankTable/Table.test.js @@ -9,12 +9,11 @@ import {PagerankTable} from "./Table"; import {example, COLUMNS} from "./sharedTestUtils"; import {NodeRowList} from "./Node"; import {WeightConfig} from "../../weights/WeightConfig"; -import {type NodeType} from "../../../analysis/types"; require("../../../webutil/testUtil").configureEnzyme(); describe("explorer/legacy/pagerankTable/Table", () => { describe("PagerankTable", () => { - async function setup(defaultNodeType?: NodeType) { + async function setup() { const { pnd, sharedProps, @@ -26,7 +25,6 @@ describe("explorer/legacy/pagerankTable/Table", () => { } = await example(); const element = shallow( { const value = option.prop("value"); expect(value).not.toEqual(NodeAddress.empty); const previousNodes = element.find("NodeRowList").prop("nodes"); - expect( - previousNodes.every((n) => NodeAddress.hasPrefix(n, value)) - ).toBe(false); + // No user nodes, so no nodes shown + expect(previousNodes).toHaveLength(0); element.find("select").simulate("change", {target: {value}}); const actualNodes = element.find("NodeRowList").prop("nodes"); expect(actualNodes.every((n) => NodeAddress.hasPrefix(n, value))).toBe( @@ -134,20 +131,7 @@ describe("explorer/legacy/pagerankTable/Table", () => { }); it("filter defaults to show all if defaultNodeType not passed", async () => { const {element} = await setup(); - expect(element.state().selectedNodeTypePrefix).toEqual( - NodeAddress.empty - ); - }); - it("selectedNodeTypePrefix defaults to provided NodeType, if available", async () => { - const nodeType: NodeType = { - name: "testNodeType", - pluralName: "testNodeTypes", - prefix: NodeAddress.fromParts(["foo"]), - defaultWeight: 1, - description: "test type", - }; - const {element} = await setup(nodeType); - expect(element.state().selectedNodeTypePrefix).toEqual(nodeType.prefix); + expect(element.state().selectedNodeTypePrefix).toEqual(null); }); }); @@ -157,11 +141,10 @@ describe("explorer/legacy/pagerankTable/Table", () => { const nrl = element.find(NodeRowList); expect(nrl.props().sharedProps).toEqual(sharedProps); }); - it("including all nodes by default", async () => { - const {element, pnd} = await setup(); + it("including all user nodes by default", async () => { + const {element} = await setup(); const nrl = element.find(NodeRowList); - const expectedNodes = Array.from(pnd.keys()); - expect(nrl.props().nodes).toEqual(expectedNodes); + expect(nrl.props().nodes).toEqual([]); }); }); });