Skip to content

Commit

Permalink
fix(AnalyticalTable): fix dynamic column width and prevent table from…
Browse files Browse the repository at this point in the history
… overflowing in some cases (#597)
  • Loading branch information
Lukas742 authored Jul 15, 2020
1 parent bbeed09 commit fe93af8
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

exports[`AnalyticalTable Alternate Row Color 1`] = `
<div
style="max-width: 100%; overflow-x: auto; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down Expand Up @@ -509,7 +509,7 @@ exports[`AnalyticalTable Alternate Row Color 1`] = `

exports[`AnalyticalTable Loading - Loader 1`] = `
<div
style="max-width: 100%; overflow-x: auto; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down Expand Up @@ -1016,7 +1016,7 @@ exports[`AnalyticalTable Loading - Loader 1`] = `

exports[`AnalyticalTable Loading - Placeholder 1`] = `
<div
style="max-width: 100%; overflow-x: auto; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down Expand Up @@ -1515,7 +1515,7 @@ exports[`AnalyticalTable Loading - Placeholder 1`] = `

exports[`AnalyticalTable Tree Table 1`] = `
<div
style="max-width: 100%; overflow-x: auto; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down Expand Up @@ -2165,7 +2165,7 @@ exports[`AnalyticalTable Tree Table 1`] = `

exports[`AnalyticalTable custom row height 1`] = `
<div
style="max-width: 100%; overflow-x: auto; --sapWcrAnalyticalTableRowHeight: 60px; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; --sapWcrAnalyticalTableRowHeight: 60px; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down Expand Up @@ -2672,7 +2672,7 @@ exports[`AnalyticalTable custom row height 1`] = `

exports[`AnalyticalTable render without data 1`] = `
<div
style="max-width: 100%; overflow-x: auto; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down Expand Up @@ -2944,7 +2944,7 @@ exports[`AnalyticalTable render without data 1`] = `

exports[`AnalyticalTable test Asc desc 1`] = `
<div
style="max-width: 100%; overflow-x: auto; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down Expand Up @@ -3451,7 +3451,7 @@ exports[`AnalyticalTable test Asc desc 1`] = `

exports[`AnalyticalTable test Asc desc 2`] = `
<div
style="max-width: 100%; overflow-x: auto; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down Expand Up @@ -3958,7 +3958,7 @@ exports[`AnalyticalTable test Asc desc 2`] = `

exports[`AnalyticalTable test Asc desc 3`] = `
<div
style="max-width: 100%; overflow-x: auto; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down Expand Up @@ -4465,7 +4465,7 @@ exports[`AnalyticalTable test Asc desc 3`] = `

exports[`AnalyticalTable test drag and drop of a draggable column 1`] = `
<div
style="max-width: 100%; overflow-x: auto; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down Expand Up @@ -4972,7 +4972,7 @@ exports[`AnalyticalTable test drag and drop of a draggable column 1`] = `

exports[`AnalyticalTable with highlight row 1`] = `
<div
style="max-width: 100%; overflow-x: auto; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down Expand Up @@ -5607,7 +5607,7 @@ exports[`AnalyticalTable with highlight row 1`] = `

exports[`AnalyticalTable without selection Column 1`] = `
<div
style="max-width: 100%; overflow-x: auto; visibility: hidden;"
style="max-width: 100%; overflow-x: auto; display: flex; flex-direction: column; visibility: hidden;"
>
<div
style="min-height: 1.5rem; display: flex; align-items: center;"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,12 @@ const columns = (columns, { instance }) => {
internalDefaultColumnsCount--;
return acceptedWidth;
}
if (minWidth > availableWidth / defaultColumnsCount) {
if (minWidth > availableWidth / internalDefaultColumnsCount) {
availableWidth -= minWidth;
internalDefaultColumnsCount--;
return minWidth;
}
if (maxWidth < availableWidth / defaultColumnsCount) {
if (maxWidth < availableWidth / internalDefaultColumnsCount) {
availableWidth -= maxWidth;
internalDefaultColumnsCount--;
return maxWidth;
Expand All @@ -74,7 +74,6 @@ const columns = (columns, { instance }) => {
.filter(Boolean);

const fixedWidth = columnsWithFixedWidth.reduce((acc, val) => acc + val, 0);

const defaultColumnsCount = visibleColumns.length - columnsWithFixedWidth.length;
// check if columns are visible and table has width
if (visibleColumns.length > 0 && totalWidth > 0) {
Expand Down
4 changes: 3 additions & 1 deletion packages/main/src/components/AnalyticalTable/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,9 @@ const AnalyticalTable: FC<TableProps> = forwardRef((props: TableProps, ref: Ref<
const inlineStyle = useMemo(() => {
const tableStyles = {
maxWidth: '100%',
overflowX: 'auto'
overflowX: 'auto',
display: 'flex',
flexDirection: 'column'
};
if (!!rowHeight) {
tableStyles['--sapWcrAnalyticalTableRowHeight'] = `${rowHeight}px`;
Expand Down

0 comments on commit fe93af8

Please sign in to comment.