1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/src/renderer/components/drawer/drawer-param-toggler.tsx
Alex Andreev a92ed46f0d
Fixing tolerations list layout (#2002)
* Expanding tolerations div width

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Adding tolerations table

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Fixing tolerations table styles

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Adding <PodTolerations/> tests

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Add new line at the end of the file for linter

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2021-01-22 10:27:54 +03:00

40 lines
1.1 KiB
TypeScript

import "./drawer-param-toggler.scss";
import React from "react";
import { Icon } from "../icon";
import { cssNames } from "../../utils";
export interface DrawerParamTogglerProps {
label: string | number;
}
interface State {
open?: boolean;
}
export class DrawerParamToggler extends React.Component<DrawerParamTogglerProps, State> {
public state: State = {};
toggle = () => {
this.setState({ open: !this.state.open });
};
render() {
const { label, children } = this.props;
const { open } = this.state;
const icon = `arrow_drop_${open ? "up" : "down"}`;
const link = open ? `Hide` : `Show`;
return (
<div className="DrawerParamToggler">
<div className="flex gaps align-center params">
<div className="param-label">{label}</div>
<div className="param-link" onClick={this.toggle}>
<span className="param-link-text">{link}</span>
<Icon material={icon}/>
</div>
</div>
<div className={cssNames("param-content", { open })}>{children}</div>
</div>
);
}
}