selectedRowIndexes changed to selectedRowIndices (#516)
Data type of selectedRowIndices changed to array of numbers
This commit is contained in:
parent
62d87da51f
commit
fb34609c89
|
|
@ -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);
|
||||
}}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user