From de152150c5ad0507b625f7a1be3bea159ab0dd98 Mon Sep 17 00:00:00 2001
From: Charles McDonald <59840481+cm9361@users.noreply.github.com>
Date: Wed, 18 Oct 2023 16:12:56 -0500
Subject: [PATCH] [terra-table] Zebra stripe table (#1839)
---
packages/terra-framework-docs/CHANGELOG.md | 3 +
.../Examples/ZebraStripedTable.1.doc.mdx | 3 +
.../doc/table/Examples/ZebraStripedTable.jsx | 99 ++++++++
.../test/table/ZebraStripedTable.test.jsx | 99 ++++++++
packages/terra-table/CHANGELOG.md | 3 +
packages/terra-table/src/Table.jsx | 7 +
.../clinical-lowlight-theme/Row.module.scss | 4 +-
.../src/orion-fusion-theme/Row.module.scss | 4 +-
.../terra-table/src/subcomponents/Row.jsx | 7 +
.../src/subcomponents/Row.module.scss | 10 +-
.../terra-table/tests/jest/Table.test.jsx | 17 ++
.../jest/__snapshots__/Table.test.jsx.snap | 214 ++++++++++++++++++
.../chrome_large/table-spec/default-table.png | Bin 49713 -> 49403 bytes
.../table-spec/no-interaction-table.png | Bin 48933 -> 48663 bytes
.../table-spec/pinned-columns-scroll.png | Bin 21714 -> 20927 bytes
.../table-spec/pinned-columns.png | Bin 20811 -> 20010 bytes
.../sortable-table-focused-header.png | Bin 47531 -> 47217 bytes
.../table-spec/sortable-table-keyboard.png | Bin 48233 -> 46929 bytes
.../table-spec/sortable-table.png | Bin 46842 -> 0 bytes
.../table-spec/sticky-header-scrolled.png | Bin 39596 -> 39333 bytes
.../table-spec/sticky-header-unscrolled.png | Bin 38270 -> 38000 bytes
.../table-spec/table-grid-context.png | Bin 47521 -> 47163 bytes
.../table-spec/zebra-striped-table.png | Bin 0 -> 35967 bytes
.../table-spec/default-table.png | Bin 48834 -> 48526 bytes
.../table-spec/no-interaction-table.png | Bin 48332 -> 48065 bytes
.../table-spec/pinned-columns-scroll.png | Bin 15896 -> 15428 bytes
.../table-spec/pinned-columns.png | Bin 19035 -> 18367 bytes
.../sortable-table-focused-header.png | Bin 47531 -> 47217 bytes
.../table-spec/sortable-table-keyboard.png | Bin 48233 -> 46929 bytes
.../table-spec/sortable-table.png | Bin 46842 -> 0 bytes
.../table-spec/sticky-header-scrolled.png | Bin 39596 -> 39333 bytes
.../table-spec/sticky-header-unscrolled.png | Bin 38270 -> 38000 bytes
.../table-spec/table-grid-context.png | Bin 47521 -> 47163 bytes
.../table-spec/zebra-striped-table.png | Bin 0 -> 32785 bytes
.../chrome_large/table-spec/default-table.png | Bin 45636 -> 43736 bytes
.../table-spec/no-interaction-table.png | Bin 44888 -> 43037 bytes
.../table-spec/pinned-columns-scroll.png | Bin 19153 -> 19179 bytes
.../table-spec/pinned-columns.png | Bin 18294 -> 18315 bytes
.../sortable-table-focused-header.png | Bin 43253 -> 41357 bytes
.../table-spec/sortable-table-keyboard.png | Bin 41862 -> 40262 bytes
.../table-spec/sticky-header-scrolled.png | Bin 36592 -> 34710 bytes
.../table-spec/sticky-header-unscrolled.png | Bin 37672 -> 35896 bytes
.../table-spec/table-grid-context.png | Bin 43207 -> 41319 bytes
.../table-spec/zebra-striped-table.png | Bin 0 -> 31701 bytes
.../table-spec/default-table.png | Bin 45052 -> 43155 bytes
.../table-spec/no-interaction-table.png | Bin 44461 -> 42615 bytes
.../table-spec/pinned-columns-scroll.png | Bin 14073 -> 14088 bytes
.../table-spec/pinned-columns.png | Bin 16914 -> 16929 bytes
.../sortable-table-focused-header.png | Bin 43253 -> 41357 bytes
.../table-spec/sortable-table-keyboard.png | Bin 41862 -> 40262 bytes
.../table-spec/sticky-header-scrolled.png | Bin 36592 -> 34710 bytes
.../table-spec/sticky-header-unscrolled.png | Bin 37672 -> 35896 bytes
.../table-spec/table-grid-context.png | Bin 43207 -> 41319 bytes
.../table-spec/zebra-striped-table.png | Bin 0 -> 28987 bytes
.../chrome_large/table-spec/default-table.png | Bin 51345 -> 51210 bytes
.../table-spec/no-interaction-table.png | Bin 50380 -> 50281 bytes
.../table-spec/pinned-columns-scroll.png | Bin 22763 -> 22717 bytes
.../table-spec/pinned-columns.png | Bin 21851 -> 21807 bytes
.../sortable-table-focused-header.png | Bin 48682 -> 48548 bytes
.../table-spec/sortable-table-keyboard.png | Bin 49316 -> 48326 bytes
.../table-spec/sortable-table.png | Bin 48389 -> 0 bytes
.../table-spec/sticky-header-scrolled.png | Bin 41109 -> 41049 bytes
.../table-spec/sticky-header-unscrolled.png | Bin 39397 -> 39329 bytes
.../table-spec/table-grid-context.png | Bin 48803 -> 48655 bytes
.../table-spec/zebra-striped-table.png | Bin 0 -> 37926 bytes
.../table-spec/default-table.png | Bin 50471 -> 50344 bytes
.../table-spec/no-interaction-table.png | Bin 49779 -> 49682 bytes
.../table-spec/pinned-columns-scroll.png | Bin 16636 -> 16626 bytes
.../table-spec/pinned-columns.png | Bin 19978 -> 19936 bytes
.../sortable-table-focused-header.png | Bin 48682 -> 48548 bytes
.../table-spec/sortable-table-keyboard.png | Bin 49316 -> 48326 bytes
.../table-spec/sortable-table.png | Bin 48389 -> 0 bytes
.../table-spec/sticky-header-scrolled.png | Bin 41109 -> 41049 bytes
.../table-spec/sticky-header-unscrolled.png | Bin 39397 -> 39329 bytes
.../table-spec/table-grid-context.png | Bin 48803 -> 48655 bytes
.../table-spec/zebra-striped-table.png | Bin 0 -> 34489 bytes
packages/terra-table/tests/wdio/table-spec.js | 12 +
77 files changed, 472 insertions(+), 10 deletions(-)
create mode 100644 packages/terra-framework-docs/src/terra-dev-site/doc/table/Examples/ZebraStripedTable.1.doc.mdx
create mode 100644 packages/terra-framework-docs/src/terra-dev-site/doc/table/Examples/ZebraStripedTable.jsx
create mode 100644 packages/terra-framework-docs/src/terra-dev-site/test/table/ZebraStripedTable.test.jsx
delete mode 100644 packages/terra-table/tests/wdio/__snapshots__/reference/clinical-lowlight-theme/en/chrome_large/table-spec/sortable-table.png
create mode 100644 packages/terra-table/tests/wdio/__snapshots__/reference/clinical-lowlight-theme/en/chrome_large/table-spec/zebra-striped-table.png
delete mode 100644 packages/terra-table/tests/wdio/__snapshots__/reference/clinical-lowlight-theme/en/chrome_medium/table-spec/sortable-table.png
create mode 100644 packages/terra-table/tests/wdio/__snapshots__/reference/clinical-lowlight-theme/en/chrome_medium/table-spec/zebra-striped-table.png
create mode 100644 packages/terra-table/tests/wdio/__snapshots__/reference/orion-fusion-theme/en/chrome_large/table-spec/zebra-striped-table.png
create mode 100644 packages/terra-table/tests/wdio/__snapshots__/reference/orion-fusion-theme/en/chrome_medium/table-spec/zebra-striped-table.png
delete mode 100644 packages/terra-table/tests/wdio/__snapshots__/reference/terra-default-theme/en/chrome_large/table-spec/sortable-table.png
create mode 100644 packages/terra-table/tests/wdio/__snapshots__/reference/terra-default-theme/en/chrome_large/table-spec/zebra-striped-table.png
delete mode 100644 packages/terra-table/tests/wdio/__snapshots__/reference/terra-default-theme/en/chrome_medium/table-spec/sortable-table.png
create mode 100644 packages/terra-table/tests/wdio/__snapshots__/reference/terra-default-theme/en/chrome_medium/table-spec/zebra-striped-table.png
diff --git a/packages/terra-framework-docs/CHANGELOG.md b/packages/terra-framework-docs/CHANGELOG.md
index 84945048822..4a631623214 100644
--- a/packages/terra-framework-docs/CHANGELOG.md
+++ b/packages/terra-framework-docs/CHANGELOG.md
@@ -2,6 +2,9 @@
## Unreleased
+* Added
+ * Added test to cover enabling zebra striping for the `terra-table` component.
+
## 1.41.0 - (October 17, 2023)
* Added
diff --git a/packages/terra-framework-docs/src/terra-dev-site/doc/table/Examples/ZebraStripedTable.1.doc.mdx b/packages/terra-framework-docs/src/terra-dev-site/doc/table/Examples/ZebraStripedTable.1.doc.mdx
new file mode 100644
index 00000000000..4979b88a6e1
--- /dev/null
+++ b/packages/terra-framework-docs/src/terra-dev-site/doc/table/Examples/ZebraStripedTable.1.doc.mdx
@@ -0,0 +1,3 @@
+import ZebraStripedTable from './ZebraStripedTable?dev-site-example';
+
+
diff --git a/packages/terra-framework-docs/src/terra-dev-site/doc/table/Examples/ZebraStripedTable.jsx b/packages/terra-framework-docs/src/terra-dev-site/doc/table/Examples/ZebraStripedTable.jsx
new file mode 100644
index 00000000000..73fa5dc286e
--- /dev/null
+++ b/packages/terra-framework-docs/src/terra-dev-site/doc/table/Examples/ZebraStripedTable.jsx
@@ -0,0 +1,99 @@
+import React from 'react';
+import Table from 'terra-table';
+
+const tableDataJSON = {
+ cols: [
+ { id: 'Column-0', displayName: 'Patient' },
+ { id: 'Column-1', displayName: 'Location' },
+ { id: 'Column-2', displayName: 'Illness Severity' },
+ { id: 'Column-3', displayName: 'Visit' },
+ { id: 'Column-4', displayName: 'Allergy' },
+ { id: 'Column-5', displayName: 'Primary Contact' },
+ { id: 'Column-6', displayName: 'Generic Order Counts' },
+ { id: 'Column-7', displayName: 'Patient Age' },
+ { id: 'Column-8', displayName: 'Medication History' },
+ { id: 'Column-9', displayName: 'My Relationship' },
+ { id: 'Column-10', displayName: 'Not Selectable', isSelectable: false },
+ ],
+ rows: [
+ {
+ id: '1',
+ cells: [
+ { content: 'Fleck, Arthur' },
+ { content: '1007-MTN' },
+ { content: 'Unstable' },
+ { content: 'Inpatient, 2 months' },
+ { content: '' },
+ { content: 'Quinzell, Harleen' },
+ { content: '' },
+ { isMasked: true },
+ { isMasked: true },
+ { content: 'Admitting Physician' },
+ { content: '', isSelectable: false },
+ ],
+ },
+ {
+ id: '2',
+ cells: [
+ { content: 'Wayne, Bruce' },
+ { content: '1007-MTN-DR' },
+ { content: 'Stable' },
+ { content: 'Outpatient, 2 days' },
+ { content: 'Phytochemicals' },
+ { content: 'Grayson, Richard' },
+ { content: '' },
+ { content: '' },
+ { isMasked: true },
+ { content: 'Admitting Physician' },
+ { content: '', isSelectable: false },
+ ],
+ },
+ {
+ id: '3',
+ cells: [
+ { content: 'McDonald, Ronald' },
+ { content: '1007-MTN-RN' },
+ { content: 'Critical' },
+ { content: 'Inpatient, 2 days' },
+ { content: 'Phytochemicals' },
+ { content: 'Smith, Melissa' },
+ { content: '' },
+ { content: '' },
+ { isMasked: true },
+ { content: 'Family Physician' },
+ { content: '', isSelectable: false },
+ ],
+ },
+ {
+ id: '4',
+ cells: [
+ { content: 'Wayne, Bruce' },
+ { content: '1018-MTN-DR' },
+ { content: 'Stable' },
+ { content: 'Outpatient, 2 days' },
+ { content: 'Aspirin' },
+ { content: 'Jones, Gary' },
+ { content: '' },
+ { content: '' },
+ { isMasked: true },
+ { content: 'Primary Care Physician' },
+ { content: '', isSelectable: false },
+ ],
+ },
+ ],
+};
+
+const ZebraStripedTable = () => {
+ const { cols, rows } = tableDataJSON;
+
+ return (
+
+ );
+};
+
+export default ZebraStripedTable;
diff --git a/packages/terra-framework-docs/src/terra-dev-site/test/table/ZebraStripedTable.test.jsx b/packages/terra-framework-docs/src/terra-dev-site/test/table/ZebraStripedTable.test.jsx
new file mode 100644
index 00000000000..fdfc9d26719
--- /dev/null
+++ b/packages/terra-framework-docs/src/terra-dev-site/test/table/ZebraStripedTable.test.jsx
@@ -0,0 +1,99 @@
+import React from 'react';
+import Table from 'terra-table';
+
+const gridDataJSON = {
+ cols: [
+ { id: 'Column-0', displayName: 'Patient' },
+ { id: 'Column-1', displayName: 'Location' },
+ { id: 'Column-2', displayName: 'Illness Severity' },
+ { id: 'Column-3', displayName: 'Visit' },
+ { id: 'Column-4', displayName: 'Allergy' },
+ { id: 'Column-5', displayName: 'Primary Contact' },
+ { id: 'Column-6', displayName: 'Generic Order Counts' },
+ { id: 'Column-7', displayName: 'Patient Age' },
+ { id: 'Column-8', displayName: 'Medication History' },
+ { id: 'Column-9', displayName: 'My Relationship' },
+ { id: 'Column-10', displayName: 'Not Selectable', isSelectable: false },
+ ],
+ rows: [
+ {
+ id: '1',
+ cells: [
+ { content: 'Fleck, Arthur' },
+ { content: '1007-MTN' },
+ { content: 'Unstable' },
+ { content: 'Inpatient, 2 months' },
+ { content: '' },
+ { content: 'Quinzell, Harleen' },
+ { content: '' },
+ { isMasked: true },
+ { isMasked: true },
+ { content: 'Admitting Physician' },
+ { content: '', isSelectable: false },
+ ],
+ },
+ {
+ id: '2',
+ cells: [
+ { content: 'Wayne, Bruce' },
+ { content: '1007-MTN-DR' },
+ { content: 'Stable' },
+ { content: 'Outpatient, 2 days' },
+ { content: 'Phytochemicals' },
+ { content: 'Grayson, Richard' },
+ { content: '' },
+ { content: '' },
+ { isMasked: true },
+ { content: 'Admitting Physician' },
+ { content: '', isSelectable: false },
+ ],
+ },
+ {
+ id: '3',
+ cells: [
+ { content: 'McDonald, Ronald' },
+ { content: '1007-MTN-RN' },
+ { content: 'Critical' },
+ { content: 'Inpatient, 2 days' },
+ { content: 'Phytochemicals' },
+ { content: 'Smith, Melissa' },
+ { content: '' },
+ { content: '' },
+ { isMasked: true },
+ { content: 'Family Physician' },
+ { content: '', isSelectable: false },
+ ],
+ },
+ {
+ id: '4',
+ cells: [
+ { content: 'Wayne, Bruce' },
+ { content: '1018-MTN-DR' },
+ { content: 'Stable' },
+ { content: 'Outpatient, 2 days' },
+ { content: 'Aspirin' },
+ { content: 'Jones, Gary' },
+ { content: '' },
+ { content: '' },
+ { isMasked: true },
+ { content: 'Primary Care Physician' },
+ { content: '', isSelectable: false },
+ ],
+ },
+ ],
+};
+
+const ZebraStripedTable = () => {
+ const { cols, rows } = gridDataJSON;
+
+ return (
+
+ );
+};
+
+export default ZebraStripedTable;
diff --git a/packages/terra-table/CHANGELOG.md b/packages/terra-table/CHANGELOG.md
index 8c131e9d61e..bfa28ee7206 100644
--- a/packages/terra-table/CHANGELOG.md
+++ b/packages/terra-table/CHANGELOG.md
@@ -2,6 +2,9 @@
## Unreleased
+* Added
+ * Added the ability to toggle zebra striping for table rows.
+
* Changed
* Updated the table component so that the cell dive-in logic would not execute when not in the grid context.
diff --git a/packages/terra-table/src/Table.jsx b/packages/terra-table/src/Table.jsx
index 63e38a004c2..427896740c2 100644
--- a/packages/terra-table/src/Table.jsx
+++ b/packages/terra-table/src/Table.jsx
@@ -101,6 +101,11 @@ const propTypes = {
* rendered to allow for row selection to occur.
*/
hasSelectableRows: PropTypes.bool,
+
+ /**
+ * Boolean specifying whether or not the table should have zebra striping for rows.
+ */
+ isStriped: PropTypes.bool,
};
const defaultProps = {
@@ -131,6 +136,7 @@ function Table(props) {
onColumnSelect,
onCellSelect,
hasSelectableRows,
+ isStriped,
rowHeaderIndex,
} = props;
@@ -312,6 +318,7 @@ function Table(props) {
rowHeaderIndex={rowHeaderIndex}
onCellSelect={isGridContext ? handleCellSelection : undefined}
isSelected={row.isSelected}
+ isTableStriped={isStriped}
/>
))}
diff --git a/packages/terra-table/src/clinical-lowlight-theme/Row.module.scss b/packages/terra-table/src/clinical-lowlight-theme/Row.module.scss
index 4c87e661e8a..0af749ac483 100644
--- a/packages/terra-table/src/clinical-lowlight-theme/Row.module.scss
+++ b/packages/terra-table/src/clinical-lowlight-theme/Row.module.scss
@@ -1,7 +1,7 @@
:local {
.clinical-lowlight-theme {
- --terra-table-row-striped-even-background-color: #2d3539;
- --terra-table-row-striped-odd-background-color: #6e6f71;
+ --terra-table-row-striped-background-color: #2d3539;
+ --terra-table-row-background-color: #6e6f71;
--terra-table-row-selected-background-color: #1e3a49;
--terra-table-row-selected-box-shadow: inset 0 1px 0 0 #004c76, inset 0 -1px 0 0 #004c76;
--terra-table-row-hover-background-color: #232a2d;
diff --git a/packages/terra-table/src/orion-fusion-theme/Row.module.scss b/packages/terra-table/src/orion-fusion-theme/Row.module.scss
index d3b06d4bcd1..c6b345f9d4d 100644
--- a/packages/terra-table/src/orion-fusion-theme/Row.module.scss
+++ b/packages/terra-table/src/orion-fusion-theme/Row.module.scss
@@ -1,8 +1,8 @@
:local {
.orion-fusion-theme {
- --terra-table-row-striped-even-background-color: #f4f4f4;
+ --terra-table-row-striped-background-color: #f4f4f4;
--terra-table-row-selected-background-color: #cbe7fa;
--terra-table-row-selected-box-shadow: inset 0 1px 0 0 #0092e0, inset 0 -1px 0 0 #0092e0;
- --terra-table-row-striped-odd-background-color: #fefffe;
+ --terra-table-row-background-color: #fefffe;
}
}
diff --git a/packages/terra-table/src/subcomponents/Row.jsx b/packages/terra-table/src/subcomponents/Row.jsx
index 09dbd326c7a..2c4dbbd59b0 100644
--- a/packages/terra-table/src/subcomponents/Row.jsx
+++ b/packages/terra-table/src/subcomponents/Row.jsx
@@ -38,6 +38,11 @@ const propTypes = {
*/
isSelected: PropTypes.bool,
+ /**
+ * Boolean specifying whether zebra striping is enabled.
+ */
+ isTableStriped: PropTypes.bool,
+
/**
* A string identifier used to describe the row contents. This value will be used to construct additional labels
* for internal controls (e.g. row selection cells).
@@ -81,6 +86,7 @@ function Row(props) {
hasRowSelection,
id,
isSelected,
+ isTableStriped,
cells,
ariaLabel,
displayedColumns,
@@ -99,6 +105,7 @@ function Row(props) {
className={cx('row', {
selected: isSelected,
selectable: hasRowSelection,
+ 'striped-table-row': isTableStriped,
}, theme.className)} // eslint-disable-next-line react/forbid-dom-props
style={{ height }}
onMouseEnter={hasRowSelection ? () => { setHovered(true); } : undefined}
diff --git a/packages/terra-table/src/subcomponents/Row.module.scss b/packages/terra-table/src/subcomponents/Row.module.scss
index 377e7d831ec..1b59a95fb10 100644
--- a/packages/terra-table/src/subcomponents/Row.module.scss
+++ b/packages/terra-table/src/subcomponents/Row.module.scss
@@ -4,17 +4,15 @@
:local {
.row {
+ background-color: var(--terra-table-row-background-color, #fff);
+
&.selectable:hover {
background-color: var(--terra-table-row-hover-background-color, #e2f2fc);
cursor: pointer;
}
- &:nth-child(even) {
- background-color: var(--terra-table-row-striped-even-background-color, #f0f0f0);
- }
-
- &:nth-child(odd) {
- background-color: var(--terra-table-row-striped-odd-background-color, #fff);
+ &.striped-table-row:nth-child(even) {
+ background-color: var(--terra-table-row-striped-background-color, #f0f0f0);
}
&.selected {
diff --git a/packages/terra-table/tests/jest/Table.test.jsx b/packages/terra-table/tests/jest/Table.test.jsx
index e2c90d53fe0..f0896ff21e2 100644
--- a/packages/terra-table/tests/jest/Table.test.jsx
+++ b/packages/terra-table/tests/jest/Table.test.jsx
@@ -123,6 +123,23 @@ describe('Table', () => {
expect(wrapper).toMatchSnapshot();
});
+ it('verifies the rows receive the correct props when table is zebra striped', () => {
+ const wrapper = shallowWithIntl(
+
+
+ ,
+ ).dive().dive();
+
+ const testRow = wrapper.find(Row).get(0);
+ expect(testRow.props.isTableStriped).toBe(true);
+ expect(wrapper).toMatchSnapshot();
+ });
+
it('verifies row selection column header selection', () => {
const mockColumnSelect = jest.fn();
diff --git a/packages/terra-table/tests/jest/__snapshots__/Table.test.jsx.snap b/packages/terra-table/tests/jest/__snapshots__/Table.test.jsx.snap
index 7a71c8c8900..325dbb56f9b 100644
--- a/packages/terra-table/tests/jest/__snapshots__/Table.test.jsx.snap
+++ b/packages/terra-table/tests/jest/__snapshots__/Table.test.jsx.snap
@@ -6375,3 +6375,217 @@ exports[`Table verifies the rows are created with the right props 1`] = `
`;
+
+exports[`Table verifies the rows receive the correct props when table is zebra striped 1`] = `
+
+`;
diff --git a/packages/terra-table/tests/wdio/__snapshots__/reference/clinical-lowlight-theme/en/chrome_large/table-spec/default-table.png b/packages/terra-table/tests/wdio/__snapshots__/reference/clinical-lowlight-theme/en/chrome_large/table-spec/default-table.png
index 78f396be50bfb6a24ef6e5825847aab77f56ff97..30b8c0de95365c722033b49d8d1ad77d4b5463cc 100644
GIT binary patch
literal 49403
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
z
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