mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* 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>
40 lines
1.1 KiB
TypeScript
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>
|
|
);
|
|
}
|
|
}
|