diff --git a/src/components/BrowserRow/BrowserRow.react.js b/src/components/BrowserRow/BrowserRow.react.js index 35e2752647..61c310ea9a 100644 --- a/src/components/BrowserRow/BrowserRow.react.js +++ b/src/components/BrowserRow/BrowserRow.react.js @@ -33,6 +33,7 @@ export default class BrowserRow extends Component { row, rowValue, rowWidth, + headerWidth, selection, selectRow, setCopyableValue, @@ -70,7 +71,8 @@ export default class BrowserRow extends Component { requiredCols = ['authData']; } return ( -
onMouseOverRow(obj.id)}> +
onMouseOverRow(obj.id)}> + {row + 1} +
+
#
+
, +
{readonly ? null : ( selectAll(e.target.checked)} /> )} diff --git a/src/components/DataBrowserHeaderBar/DataBrowserHeaderBar.scss b/src/components/DataBrowserHeaderBar/DataBrowserHeaderBar.scss index a69e8eba73..a60126b74c 100644 --- a/src/components/DataBrowserHeaderBar/DataBrowserHeaderBar.scss +++ b/src/components/DataBrowserHeaderBar/DataBrowserHeaderBar.scss @@ -53,7 +53,8 @@ vertical-align: top; text-align: center; width: 30px; - background: rgb(114, 111, 133) + background: rgb(114, 111, 133); + padding-left: 30px; } .handle { @@ -107,3 +108,14 @@ } } + +.rowNumberColumn { + height: 30px; + line-height: 31px; + vertical-align: top; + text-align: center; + background-color: #66637A; + color: white; + font-size: 12px; + font-weight: normal; +} \ No newline at end of file diff --git a/src/dashboard/Data/Browser/Browser.react.js b/src/dashboard/Data/Browser/Browser.react.js index c61d216b29..0d0150a45e 100644 --- a/src/dashboard/Data/Browser/Browser.react.js +++ b/src/dashboard/Data/Browser/Browser.react.js @@ -2201,6 +2201,7 @@ class Browser extends DashboardView { errorAggregatedData={this.state.errorAggregatedData} appName={this.props.params.appId} limit={this.state.limit} + skip={this.state.skip} /> (visible ? rowWidth + width : rowWidth), this.props.onAddRow ? 210 : 0 - ); + ) + 30; + + this.headerWidth = Math.max( + 30, + Math.floor(Math.log10(this.props.data.length + this.props.skip)) * 10 + ) + 4; + let editCloneRows; if (this.props.editCloneRows) { editCloneRows = ( @@ -156,9 +163,10 @@ export default class BrowserTable extends React.Component { onFilterChange={this.props.onFilterChange} order={this.props.order} readOnlyFields={READ_ONLY} - row={index} + row={index + this.props.skip} rowValue={this.props.data[index]} rowWidth={rowWidth} + headerWidth={this.headerWidth} selection={this.props.selection} selectRow={this.props.selectRow} setCurrent={this.props.setCurrent} @@ -240,6 +248,7 @@ export default class BrowserTable extends React.Component { readOnlyFields={READ_ONLY} row={-1} rowWidth={rowWidth} + headerWidth={this.headerWidth} selection={this.props.selection} selectRow={this.props.selectRow} setCurrent={this.props.setCurrent} @@ -329,9 +338,10 @@ export default class BrowserTable extends React.Component { callCloudFunction={this.props.callCloudFunction} order={this.props.order} readOnlyFields={READ_ONLY} - row={i} + row={i + this.props.skip} rowValue={this.props.data[i]} rowWidth={rowWidth} + headerWidth={this.headerWidth} selection={this.props.selection} selectRow={this.props.selectRow} setCurrent={this.props.setCurrent} @@ -540,7 +550,7 @@ export default class BrowserTable extends React.Component { id="browser-table" style={{ right: rightValue, - 'overflow-x': this.props.isResizing ? 'hidden' : 'auto', + overflowX: this.props.isResizing ? 'hidden' : 'auto', }} > {table}
diff --git a/src/dashboard/Data/Browser/BrowserToolbar.react.js b/src/dashboard/Data/Browser/BrowserToolbar.react.js index cfd1c51083..28b892b595 100644 --- a/src/dashboard/Data/Browser/BrowserToolbar.react.js +++ b/src/dashboard/Data/Browser/BrowserToolbar.react.js @@ -434,6 +434,7 @@ const BrowserToolbar = ({ } onClick={() => onExecuteScriptRows(selection)} /> +
{menu}