Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 35x 1x 1x | import * as React from "react"
import { action } from "mobx"
import { observer } from "mobx-react"
import { ScaleType } from "../core/GrapherConstants"
import classNames from "classnames"
import { next } from "../../clientUtils/Util"
export interface ScaleSelectorManager {
scaleType?: ScaleType
}
@observer
export class ScaleSelector extends React.Component<{
manager?: ScaleSelectorManager
prefix?: string
}> {
@action.bound private onClick(): void {
const manager = this.props.manager ?? {}
manager.scaleType = next(
[ScaleType.linear, ScaleType.log],
manager.scaleType ?? ScaleType.linear
)
}
render(): JSX.Element {
const { manager, prefix } = this.props
const { scaleType } = manager ?? {}
return (
<span
onClick={this.onClick}
className={classNames(["clickable", "toggleSwitch"])}
>
<span
data-track-note="chart-toggle-scale"
className={
"leftToggle " +
(scaleType === ScaleType.linear ? "activeToggle" : "")
}
>
{prefix}Linear
</span>
<span
data-track-note="chart-toggle-scale"
className={
"rightToggle " +
(scaleType === ScaleType.log ? "activeToggle" : "")
}
>
{prefix}Log
</span>
</span>
)
}
}
|