Sha256: 107c0d42d8b7555dcf464ebd34e4a7359bde065caadf7f825aa762eb66143b9f
Contents?: true
Size: 1.83 KB
Versions: 1
Compression:
Stored size: 1.83 KB
Contents
import React, { useContext } from "react" import { Getter, Row } from "@tanstack/react-table" import { GenericObject } from "../../types" import { GlobalProps } from "../../utilities/globalProps" import { Flex, FlexItem, Icon } from "playbook-ui" import AdvancedTableContext from "../Context/AdvancedTableContext" interface CustomCellProps { getValue?: Getter<string> onRowToggleClick?: (arg: Row<GenericObject>) => void row: Row<GenericObject> value?: string } export const CustomCell = ({ getValue, onRowToggleClick, row, value, }: CustomCellProps & GlobalProps) => { const { setExpanded, expanded, expandedControl, inlineRowLoading } = useContext(AdvancedTableContext); const handleOnExpand = (row: Row<GenericObject>) => { onRowToggleClick && onRowToggleClick(row); if (!expandedControl) { setExpanded({ ...expanded, [row.id]: !row.getIsExpanded() }); } }; const RowHasChildren = row.original.children ? true : false const renderButton = inlineRowLoading ? RowHasChildren : row.getCanExpand() return ( <div style={{ paddingLeft: `${row.depth * 1.25}em` }}> <Flex alignItems="center" columnGap="xs" orientation="row" > {renderButton ? ( <button className="gray-icon expand-toggle-icon" onClick={() => handleOnExpand(row)} > {row.getIsExpanded() ? ( <Icon cursor="pointer" icon="circle-play" rotation={90} /> ) : ( <Icon cursor="pointer" icon="circle-play" /> )} </button> ) : null} <FlexItem paddingLeft={renderButton? "none" : "xs"}> {row.depth === 0 ? getValue() : value} </FlexItem> </Flex> </div> ) }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
playbook_ui-13.33.0.pre.alpha.PLAY14143305 | app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx |