Skip to content

Commit

Permalink
Cleaned up selector code
Browse files Browse the repository at this point in the history
  • Loading branch information
dougmartin committed Jul 17, 2023
1 parent d779168 commit 6615ad6
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 24 deletions.
5 changes: 5 additions & 0 deletions src/components/probability-selector.scss
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
svg {
width: 100%;
height: 100%;

circle {
fill: #777;
cursor: pointer;
}
}
}

Expand Down
45 changes: 21 additions & 24 deletions src/components/probability-selector.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,24 @@ import React, { useCallback, useMemo } from "react";

import "./probability-selector.scss";

interface ProbabilitySelectorOffset {
min: number
cur: number
max: number
}
interface ProbabilitySelectorThumbProps {
index: number
offset: ProbabilitySelectorOffset
visibleLineLength: number
onChange: (index: number, probability: number) => void;
}

interface ProbabilitySelectorProps {
edgeValues: number[]
edgeLabels: string[]
onChange: React.Dispatch<React.SetStateAction<number[]>>
}

const svgWidth = 200;
const svgHeight = 18;
const thumbRadius = 7;
Expand All @@ -19,17 +37,9 @@ const distinctColors = [
];
const getDistinctColor = (i: number) => distinctColors[i % distinctColors.length];

interface ProbabilitySelectorOffset {
min: number
cur: number
max: number
}
interface ProbabilitySelectorThumbProps {
index: number
offset: ProbabilitySelectorOffset
visibleLineLength: number
onChange: (index: number, probability: number) => void;
}
const percentage = (n: number) => n * 100;
const probability = (n: number) => n / 100;
const reduceToSum = (a: number[]) => a.reduce((acc, cur) => acc + cur, 0);

export const ProbabilitySelectorThumb = (props: ProbabilitySelectorThumbProps) => {
const {index, offset, onChange} = props;
Expand Down Expand Up @@ -58,24 +68,11 @@ export const ProbabilitySelectorThumb = (props: ProbabilitySelectorThumbProps) =
cx={offset.cur}
cy={lineY}
r={thumbRadius}
fill="#777"
style={{cursor: "pointer"}}
onMouseDown={handleMouseDown}
/>
);
};


interface ProbabilitySelectorProps {
edgeValues: number[]
edgeLabels: string[]
onChange: React.Dispatch<React.SetStateAction<number[]>>
}

const percentage = (n: number) => n * 100;
const probability = (n: number) => n / 100;
const reduceToSum = (a: number[]) => a.reduce((acc, cur) => acc + cur, 0);

export const ProbabilitySelector = ({edgeValues, edgeLabels, onChange}: ProbabilitySelectorProps) => {

const sum = useMemo(() => reduceToSum(edgeValues), [edgeValues]);
Expand Down

0 comments on commit 6615ad6

Please sign in to comment.