Skip to content
This repository was archived by the owner on Nov 3, 2021. It is now read-only.

Commit c7463b9

Browse files
Merge pull request #932 from intellihr/release/404
Release 404
2 parents 3560fbe + 673c0ac commit c7463b9

File tree

5 files changed

+37
-23
lines changed

5 files changed

+37
-23
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@intellihr/ui-components",
33
"description": "A common React components library that is used in our company",
4-
"version": "50.14.0",
4+
"version": "50.14.1",
55
"main": "./dist/",
66
"types": "./types/index.d.ts",
77
"files": [

src/domain/Tables/Table/Table.examples.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,8 @@ initialState = {
195195
id: '4',
196196
data: {fileName: 'test1.pdf', createAt: '05/01/2018', size: '1.5', fileType: 'PDF'},
197197
isSelectable: true,
198-
actions: rowActions
198+
actions: rowActions,
199+
onClick: () => alert('row click')
199200
},
200201
{
201202
id: '5',

src/domain/Tables/Table/services/style.ts

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ interface IStyledHeaderCellProps {
5656
}
5757

5858
interface IStyledDataCellProps {
59+
clickable?: boolean
5960
size?: ColumnSize
6061
alignment?: ColumnAlignment
6162
isLastColumn?: boolean
@@ -223,13 +224,23 @@ const StyledDataCellChangeAnimation = keyframes`
223224
}
224225
`
225226

226-
const StyledDataCell = styled.td`
227+
const StyledDataCell = styled.td<IStyledDataCellProps>`
227228
padding: ${Variables.Spacing.sSmall}px;
228229
text-align: left;
229230
animation-name: ${StyledDataCellChangeAnimation};
230231
animation-duration: 500ms;
231232
animation-timing-function: ease-in;
232233
234+
${(props: IStyledDataCellProps) => props.clickable && css`
235+
& > span {
236+
cursor: pointer;
237+
}
238+
239+
&:hover {
240+
text-decoration: underline;
241+
}
242+
`}
243+
233244
${(props: IStyledDataCellProps) => props.size === ColumnSize.Auto && css`
234245
width: 100%;
235246
max-width: 0;
@@ -454,27 +465,27 @@ const StyledFontAwesomeIconButtonWrapper = styled.span`
454465
`
455466

456467
export {
457-
StyledTable,
458-
StyledRow,
459-
StyledProgressBar,
460-
StyledHeaderCell,
461468
StyledDataCell,
462-
StyledProgressBarCell,
463-
StyledProgressBarRow,
464-
StyledHeaderLeftCell,
465-
StyledTHead,
466469
StyledEmptyStateCell,
467-
StyledTableCheckboxInput,
468-
StyledTableCheckboxLabel,
470+
StyledEmptyStateRow,
469471
StyledFontAwesomeIcon,
472+
StyledFontAwesomeIconButtonWrapper,
473+
StyledHeaderCell,
474+
StyledHeaderCellContent,
475+
StyledHeaderCellWithHeaderSize,
476+
StyledHeaderLeftCell,
477+
StyledHeaderLeftCellContent,
478+
StyledProgressBar,
479+
StyledProgressBarCell,
480+
StyledProgressBarRow,
481+
StyledRow,
470482
StyledSortButton,
471-
StyledTableWrapper,
472-
StyledSwipeActionsCell,
473483
StyledSwipeActions,
474-
StyledHeaderCellWithHeaderSize,
475-
StyledEmptyStateRow,
476-
StyledFontAwesomeIconButtonWrapper,
477484
StyledSwipeActionsButtonWrapper,
478-
StyledHeaderCellContent,
479-
StyledHeaderLeftCellContent
485+
StyledSwipeActionsCell,
486+
StyledTable,
487+
StyledTableCheckboxInput,
488+
StyledTableCheckboxLabel,
489+
StyledTableWrapper,
490+
StyledTHead
480491
}

src/domain/Tables/Table/subcomponents/TableRow.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ const getLeftCell = <T extends {}>({ isSelectable, isSelected, isRemovable, hasL
7474
isSelectable && (
7575
<TableCheckboxInput
7676
name={row.id}
77+
hasStyledOnRowHovered={!row.onClick}
7778
value={selectedCheckboxInputValue}
7879
// tslint:disable-next-line:jsx-no-lambda
7980
onChange={() => toggleSelected(row)}

src/domain/Tables/Table/subcomponents/TableRowDataCell.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import React, { useCallback } from 'react'
1+
import React, { useCallback, useMemo } from 'react'
22

3-
import { TooltipPopover } from '../../../Popovers/TooltipPopover'
3+
import { TooltipPopover } from '../../../Popovers'
44
import { TooltipPopoverVariant } from '../../../Popovers/TooltipPopover/TooltipPopover'
55
import { StyledDataCell } from '../services/style'
66
import { IColumnProps, IRowProps } from '../services/types'
@@ -63,7 +63,7 @@ const TableRowDataCell = <T extends {}>(props: ITableRowDataCellProps<T>) => {
6363
} = row
6464

6565
const handleTableCellClicked = useCallback(() => {
66-
if (isSelectable) {
66+
if (!onClick && isSelectable) {
6767
toggleSelected(row)
6868
}
6969

@@ -82,6 +82,7 @@ const TableRowDataCell = <T extends {}>(props: ITableRowDataCellProps<T>) => {
8282

8383
return (
8484
<StyledDataCell
85+
clickable={!!onClick}
8586
size={column.size}
8687
hasProgressBar={hasProgressBar}
8788
colSpan={(isLastColumn && hasTableSwipeActions && !hasSwipeActions) ? 2 : undefined}

0 commit comments

Comments
 (0)