selectedRowIndexes changed to selectedRowIndices (#516)

Data type of selectedRowIndices changed to array of numbers
This commit is contained in:
vicky-primathon 2020-09-09 12:42:15 +05:30 committed by GitHub
parent 62d87da51f
commit fb34609c89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 26 additions and 41 deletions

View File

@ -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);
}}

View File

@ -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}

View File

@ -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";

View File

@ -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";

View File

@ -93,7 +93,7 @@ class TableWidget extends BaseWidget<TableWidgetProps, WidgetState> {
pageNo: 1,
pageSize: undefined,
selectedRowIndex: -1,
selectedRowIndexes: "",
selectedRowIndices: [],
searchText: undefined,
selectedRow: {},
selectedRows: [],
@ -351,32 +351,29 @@ class TableWidget extends BaseWidget<TableWidgetProps, WidgetState> {
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<TableWidgetProps, WidgetState> {
);
} 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<TableWidgetProps, WidgetState> {
}
}
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<TableWidgetProps, WidgetState> {
: 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<TableWidgetProps, WidgetState> {
};
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<TableWidgetProps, WidgetState> {
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;