diff options
Diffstat (limited to 'src/client/views/nodes/DataVizBox/components')
| -rw-r--r-- | src/client/views/nodes/DataVizBox/components/Chart.scss | 40 | ||||
| -rw-r--r-- | src/client/views/nodes/DataVizBox/components/TableBox.tsx | 14 |
2 files changed, 32 insertions, 22 deletions
diff --git a/src/client/views/nodes/DataVizBox/components/Chart.scss b/src/client/views/nodes/DataVizBox/components/Chart.scss index a6ce0b88c..c788a64c2 100644 --- a/src/client/views/nodes/DataVizBox/components/Chart.scss +++ b/src/client/views/nodes/DataVizBox/components/Chart.scss @@ -92,21 +92,33 @@ .tableBox { display: flex; flex-direction: column; + cursor: default; height: calc(100% - 40px); // bcz: hack 40px is the size of the button rows - .table { - height: 100%; - } -} -.table-container { - overflow: scroll; - margin: 5px; - margin-left: 25px; - margin-right: 10px; - margin-bottom: 0; - tr td { - height: $DATA_VIZ_TABLE_ROW_HEIGHT !important; // bcz: hack. you can't set a <tr> height directly, but you can set the height of all of it's <td>s. So this is the height of a tableBox row. - padding: 0 !important; - vertical-align: middle !important; + .tableBox-container { + overflow: scroll; + margin: 5px; + margin-left: 25px; + margin-right: 10px; + margin-bottom: 0; + .tableBox-table { + height: 100%; + width: 100%; + .tableBox-row { + cursor: pointer; + .tableBox-cell { + text-overflow: ellipsis; + width: 100%; + white-space: pre; + max-width: 150; + overflow: hidden; + } + } + } + tr td { + height: $DATA_VIZ_TABLE_ROW_HEIGHT !important; // bcz: hack. you can't set a <tr> height directly, but you can set the height of all of it's <td>s. So this is the height of a tableBox row. + padding: 0 !important; + vertical-align: middle !important; + } } } .selectAll-buttons { diff --git a/src/client/views/nodes/DataVizBox/components/TableBox.tsx b/src/client/views/nodes/DataVizBox/components/TableBox.tsx index a4e29c647..e5034daf7 100644 --- a/src/client/views/nodes/DataVizBox/components/TableBox.tsx +++ b/src/client/views/nodes/DataVizBox/components/TableBox.tsx @@ -176,7 +176,7 @@ export class TableBox extends React.Component<TableBoxProps> { <Button onClick={action(() => (this.props.layoutDoc.dataViz_selectedRows = new List<number>()))} text="Deselect All" type={Type.SEC} color={'black'} /> </div> <div - className={`table-container ${this.columns[0]}`} + className={`tableBox-container ${this.columns[0]}`} style={{ height: '100%', overflow: 'auto' }} onScroll={this.handleScroll} ref={action((r: HTMLDivElement | null) => { @@ -194,7 +194,7 @@ export class TableBox extends React.Component<TableBoxProps> { } })}> <table - className="table" + className="tableBox-table" ref={action((r: HTMLTableElement | null) => { if (!this.props.docView?.()?.ContentDiv?.hidden && r) { this._tableHeight = r?.getBoundingClientRect().height ?? 0; @@ -221,28 +221,26 @@ export class TableBox extends React.Component<TableBoxProps> { <tbody> {this._tableDataIds .filter(rowId => this.startID <= rowId && rowId <= this.endID) - ?.map(rowId => ({ record: this.props.records[rowId], rowId })) - .map(({ record, rowId }) => ( + ?.map(rowId => ( <tr key={rowId} - className={`table-row ${this.columns[0]}`} + className={`tableBox-row ${this.columns[0]}`} onClick={e => this.tableRowClick(e, rowId)} style={{ background: NumListCast(this.props.layoutDoc.dataViz_highlitedRows).includes(rowId) ? 'lightYellow' : NumListCast(this.props.layoutDoc.dataViz_selectedRows).includes(rowId) ? 'lightgrey' : '', - width: '110%', }}> {this.columns.map(col => { const colSelected = this.props.axes.length > 1 ? this.props.axes[0] == col || this.props.axes[1] == col : this.props.axes.length > 0 ? this.props.axes[0] == col : false; return ( <td key={this.columns.indexOf(col)} style={{ border: colSelected ? '3px solid black' : '1px solid black', fontWeight: colSelected ? 'bolder' : 'normal' }}> - <div style={{ textOverflow: 'ellipsis', width: '100%', whiteSpace: 'pre', maxWidth: 150, overflow: 'hidden' }}>{record[col]}</div> + <div className="tableBox-cell">{this.props.records[rowId][col]}</div> </td> ); })} </tr> ))} </tbody> - <div style={{ height: (this._tableDataIds.length - this.endID) * 40 }} /> + <div style={{ height: (this._tableDataIds.length - this.endID) * Number(DATA_VIZ_TABLE_ROW_HEIGHT) }} /> </table> </div> </div> |
