diff --git a/app/client/src/components/designSystems/appsmith/ReactTableComponent.tsx b/app/client/src/components/designSystems/appsmith/ReactTableComponent.tsx index 87055ee567..7ec12d1fc7 100644 --- a/app/client/src/components/designSystems/appsmith/ReactTableComponent.tsx +++ b/app/client/src/components/designSystems/appsmith/ReactTableComponent.tsx @@ -54,7 +54,7 @@ interface ReactTableComponentProps { serverSidePaginationEnabled: boolean; columnActions?: ColumnAction[]; selectedRowIndex: number; - selectedRowIndexes: number[]; + selectedRowIndices: number[]; multiRowSelection?: boolean; hiddenColumns?: string[]; columnNameMap?: { [key: string]: string }; @@ -301,7 +301,7 @@ const ReactTableComponent = (props: ReactTableComponentProps) => { }} serverSidePaginationEnabled={props.serverSidePaginationEnabled} selectedRowIndex={props.selectedRowIndex} - selectedRowIndexes={props.selectedRowIndexes} + selectedRowIndices={props.selectedRowIndices} disableDrag={() => { props.disableDrag(true); }} diff --git a/app/client/src/components/designSystems/appsmith/Table.tsx b/app/client/src/components/designSystems/appsmith/Table.tsx index 91ac503b64..824b33f5e3 100644 --- a/app/client/src/components/designSystems/appsmith/Table.tsx +++ b/app/client/src/components/designSystems/appsmith/Table.tsx @@ -49,7 +49,7 @@ interface TableProps { prevPageClick: () => void; serverSidePaginationEnabled: boolean; selectedRowIndex: number; - selectedRowIndexes: number[]; + selectedRowIndices: number[]; disableDrag: () => void; enableDrag: () => void; searchTableData: (searchKey: any) => void; @@ -111,7 +111,7 @@ export const Table = (props: TableProps) => { } const subPage = page.slice(startIndex, endIndex); const selectedRowIndex = props.selectedRowIndex; - const selectedRowIndexes = props.selectedRowIndexes; + const selectedRowIndices = props.selectedRowIndices; const tableSizes = TABLE_SIZES[props.compactMode || CompactModeTypes.DEFAULT]; /* Subtracting 9px to handling widget padding */ return ( @@ -205,7 +205,7 @@ export const Table = (props: TableProps) => { "tr" + `${ row.index === selectedRowIndex || - selectedRowIndexes.includes(row.index) + selectedRowIndices.includes(row.index) ? " selected-row" : "" }` @@ -215,7 +215,7 @@ export const Table = (props: TableProps) => { props.selectTableRow( row, row.index === selectedRowIndex || - selectedRowIndexes.includes(row.index), + selectedRowIndices.includes(row.index), ); }} key={rowIndex} diff --git a/app/client/src/components/stories/Checkbox.stories.tsx b/app/client/src/components/stories/Checkbox.stories.tsx index 12572f8613..c52e435c35 100644 --- a/app/client/src/components/stories/Checkbox.stories.tsx +++ b/app/client/src/components/stories/Checkbox.stories.tsx @@ -1,7 +1,7 @@ import React from "react"; import { withKnobs, boolean, text } from "@storybook/addon-knobs"; import { withDesign } from "storybook-addon-designs"; -import { StoryWrapper } from "./Tabs.stories"; +import { StoryWrapper } from "components/ads/common"; import { action } from "@storybook/addon-actions"; import Checkbox from "components/ads/Checkbox"; diff --git a/app/client/src/components/stories/Radio.stories.tsx b/app/client/src/components/stories/Radio.stories.tsx index 3f69522581..ff0d9480b5 100644 --- a/app/client/src/components/stories/Radio.stories.tsx +++ b/app/client/src/components/stories/Radio.stories.tsx @@ -7,7 +7,7 @@ import { number, } from "@storybook/addon-knobs"; import { withDesign } from "storybook-addon-designs"; -import { StoryWrapper } from "./Tabs.stories"; +import { StoryWrapper } from "components/ads/common"; import RadioComponent from "components/ads/Radio"; import { action } from "@storybook/addon-actions"; diff --git a/app/client/src/widgets/TableWidget.tsx b/app/client/src/widgets/TableWidget.tsx index 5483027ab6..3888da88fe 100644 --- a/app/client/src/widgets/TableWidget.tsx +++ b/app/client/src/widgets/TableWidget.tsx @@ -93,7 +93,7 @@ class TableWidget extends BaseWidget { pageNo: 1, pageSize: undefined, selectedRowIndex: -1, - selectedRowIndexes: "", + selectedRowIndices: [], searchText: undefined, selectedRow: {}, selectedRows: [], @@ -351,32 +351,29 @@ class TableWidget extends BaseWidget { this.getSelectedRow(filteredTableData), ); } else { - const selectedRowIndexes = this.getSelectedRowIndexes( - this.props.selectedRowIndexes, - ); super.updateWidgetMetaProperty( "selectedRows", filteredTableData.filter((item: object, i: number) => { - return selectedRowIndexes.includes(i); + return this.props.selectedRowIndices.includes(i); }), ); } } if (this.props.multiRowSelection !== prevProps.multiRowSelection) { if (this.props.multiRowSelection) { - const selectedRowIndexes = this.props.selectedRowIndex + const selectedRowIndices = this.props.selectedRowIndex ? [this.props.selectedRowIndex] : []; super.updateWidgetMetaProperty( - "selectedRowIndexes", - selectedRowIndexes.join(","), + "selectedRowIndices", + selectedRowIndices, ); super.updateWidgetMetaProperty("selectedRowIndex", -1); const filteredTableData = this.filterTableData(); super.updateWidgetMetaProperty( "selectedRows", filteredTableData.filter((item: object, i: number) => { - return selectedRowIndexes.includes(i); + return selectedRowIndices.includes(i); }), ); super.updateWidgetMetaProperty( @@ -385,7 +382,7 @@ class TableWidget extends BaseWidget { ); } else { const filteredTableData = this.filterTableData(); - super.updateWidgetMetaProperty("selectedRowIndexes", ""); + super.updateWidgetMetaProperty("selectedRowIndices", []); super.updateWidgetMetaProperty("selectedRows", []); super.updateWidgetMetaProperty( "selectedRow", @@ -395,18 +392,12 @@ class TableWidget extends BaseWidget { } } - getSelectedRowIndexes = (selectedRowIndexes: string) => { - return selectedRowIndexes - ? selectedRowIndexes.split(",").map(i => Number(i)) - : []; - }; - getPageView() { const { tableData, hiddenColumns, filteredTableData, - selectedRowIndexes, + selectedRowIndices, } = this.props; const tableColumns = this.getTableColumns(tableData); @@ -469,7 +460,7 @@ class TableWidget extends BaseWidget { : this.props.selectedRowIndex } multiRowSelection={this.props.multiRowSelection} - selectedRowIndexes={this.getSelectedRowIndexes(selectedRowIndexes)} + selectedRowIndices={selectedRowIndices} serverSidePaginationEnabled={serverSidePaginationEnabled} onRowClick={this.handleRowClick} pageNo={pageNo} @@ -561,25 +552,19 @@ class TableWidget extends BaseWidget { }; handleRowClick = (rowData: object, index: number) => { - const { onRowSelected } = this.props; + const { onRowSelected, selectedRowIndices } = this.props; if (this.props.multiRowSelection) { - const selectedRowIndexes = this.getSelectedRowIndexes( - this.props.selectedRowIndexes, - ); - if (selectedRowIndexes.includes(index)) { - const rowIndex = selectedRowIndexes.indexOf(index); - selectedRowIndexes.splice(rowIndex, 1); + if (selectedRowIndices.includes(index)) { + const rowIndex = selectedRowIndices.indexOf(index); + selectedRowIndices.splice(rowIndex, 1); } else { - selectedRowIndexes.push(index); + selectedRowIndices.push(index); } - super.updateWidgetMetaProperty( - "selectedRowIndexes", - selectedRowIndexes.join(","), - ); + super.updateWidgetMetaProperty("selectedRowIndices", selectedRowIndices); super.updateWidgetMetaProperty( "selectedRows", this.props.filteredTableData.filter((item: object, i: number) => { - return selectedRowIndexes.includes(i); + return selectedRowIndices.includes(i); }), ); } else { @@ -616,7 +601,7 @@ class TableWidget extends BaseWidget { resetSelectedRowIndex = () => { super.updateWidgetMetaProperty("selectedRowIndex", -1); - super.updateWidgetMetaProperty("selectedRowIndexes", ""); + super.updateWidgetMetaProperty("selectedRowIndices", []); }; handlePrevPageClick = () => { @@ -679,7 +664,7 @@ export interface TableWidgetProps extends WidgetProps { onRowSelected?: string; onSearchTextChanged: string; selectedRowIndex?: number; - selectedRowIndexes: string; + selectedRowIndices: number[]; columnActions?: ColumnAction[]; serverSidePaginationEnabled?: boolean; multiRowSelection?: boolean;