mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* Relax validator for installing charts Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Tweak spacing between words in confirmation dialog Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Add mocks for monaco editor and virtualized auto sizer to allow components to be rendered in unit tests Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Improve typing for a function Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Remove usage of shared global state from a component Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Provide a way to unit test usages of storages Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Add way to get current value from select in behavioural unit tests Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Rework installation of helm charts to get rid of the majority of bugs Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Update snapshots Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Remove technical test for being covered in behaviours Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Split behaviour to smaller pieces Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Add tests accidentally removed back Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Mark functions causing side effects Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Remove behaviour covered by other behaviours Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Tweak naming Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Remove unused dependency Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
/**
|
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
*/
|
|
|
|
import "./table-row.scss";
|
|
|
|
import type { CSSProperties } from "react";
|
|
import React from "react";
|
|
import { cssNames } from "../../utils";
|
|
|
|
export type TableRowElem<Item> = React.ReactElement<TableRowProps<Item>>;
|
|
|
|
export interface TableRowProps<Item> extends React.DOMAttributes<HTMLDivElement> {
|
|
className?: string;
|
|
selected?: boolean;
|
|
style?: CSSProperties;
|
|
nowrap?: boolean; // white-space: nowrap, align inner <TableCell> in one line
|
|
sortItem?: Item; // data for sorting callback in <Table sortable={}/>
|
|
searchItem?: Item; // data for searching filters in <Table searchable={}/>
|
|
disabled?: boolean;
|
|
testId?: string;
|
|
}
|
|
|
|
export class TableRow<Item> extends React.Component<TableRowProps<Item>> {
|
|
render() {
|
|
const { className, nowrap, selected, disabled, children, sortItem, searchItem, testId, ...rowProps } = this.props;
|
|
const classNames = cssNames("TableRow", className, { selected, nowrap, disabled });
|
|
|
|
return (
|
|
<div
|
|
className={classNames}
|
|
data-testid={testId}
|
|
{...rowProps}>
|
|
{children}
|
|
</div>
|
|
);
|
|
}
|
|
}
|