Skip to content

Commit

Permalink
Merge pull request #4792 from melloware/PR4777-datatable-typescript
Browse files Browse the repository at this point in the history
Fix #4777: Datatable typescript improvements
  • Loading branch information
ulasturann authored Aug 17, 2023
2 parents 2afa48c + 6884bde commit 1978a98
Show file tree
Hide file tree
Showing 10 changed files with 207 additions and 141 deletions.
25 changes: 11 additions & 14 deletions components/doc/datatable/cellselection/multipledoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,16 +70,16 @@ import { InputSwitch, InputSwitchChangeEvent } from 'primereact/inputswitch';
import { ProductService } from './service/ProductService';
interface Product {
id: string;
code: string;
name: string;
description: string;
image: string;
price: number;
category: string;
quantity: number;
inventoryStatus: string;
rating: number;
id?: string;
code?: string;
name?: string;
description?: string;
image?: string;
price?: number;
category?: string;
quantity?: number;
inventoryStatus?: string;
rating?: number;
}
export default function MultipleCellsSelectionDemo() {
Expand All @@ -98,10 +98,7 @@ export default function MultipleCellsSelectionDemo() {
<label htmlFor="input-metakey">MetaKey</label>
</div>
<DataTable value={products} cellSelection selectionMode="multiple" selection={selectedCells!}
onSelectionChange={(e) => {
const value = e.value as DataTableCellSelection<Product[]>;
setSelectedCells(value);
}}
onSelectionChange={(e) => setSelectedCells(e.value)}
metaKeySelection={metaKey} dragSelection tableStyle={{ minWidth: '50rem' }}>
<Column field="code" header="Code"></Column>
<Column field="name" header="Name"></Column>
Expand Down
25 changes: 11 additions & 14 deletions components/doc/datatable/cellselection/singledoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,16 +68,16 @@ import { InputSwitch, InputSwitchChangeEvent } from 'primereact/inputswitch';
import { ProductService } from './service/ProductService';
interface Product {
id: string;
code: string;
name: string;
description: string;
image: string;
price: number;
category: string;
quantity: number;
inventoryStatus: string;
rating: number;
id?: string;
code?: string;
name?: string;
description?: string;
image?: string;
price?: number;
category?: string;
quantity?: number;
inventoryStatus?: string;
rating?: number;
}
export default function SingleCellSelectionDemo() {
Expand All @@ -96,10 +96,7 @@ export default function SingleCellSelectionDemo() {
<label htmlFor="input-metakey">MetaKey</label>
</div>
<DataTable value={products} cellSelection selectionMode="single" selection={selectedCell!}
onSelectionChange={(e) => {
const value = e.value as DataTableCellSelection<Product[]>;
setSelectedCell(value);
}} metaKeySelection={metaKey} tableStyle={{ minWidth: '50rem' }}>
onSelectionChange={(e) => setSelectedCell(e.value)} metaKeySelection={metaKey} tableStyle={{ minWidth: '50rem' }}>
<Column field="code" header="Code"></Column>
<Column field="name" header="Name"></Column>
<Column field="category" header="Category"></Column>
Expand Down
1 change: 0 additions & 1 deletion components/doc/datatable/pt/ptdoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,6 @@ export default function PTDemo() {
}}
></Column>
</DataTable>
</div>
);
}
`,
Expand Down
25 changes: 11 additions & 14 deletions components/doc/datatable/rowselection/checkboxdoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,16 +68,16 @@ import { InputSwitch, InputSwitchChangeEvent } from 'primereact/inputswitch';
import { ProductService } from './service/ProductService';
interface Product {
id: string;
code: string;
name: string;
description: string;
image: string;
price: number;
category: string;
quantity: number;
inventoryStatus: string;
rating: number;
id?: string;
code?: string;
name?: string;
description?: string;
image?: string;
price?: number;
category?: string;
quantity?: number;
inventoryStatus?: string;
rating?: number;
}
export default function CheckboxRowSelectionDemo() {
Expand All @@ -96,10 +96,7 @@ export default function CheckboxRowSelectionDemo() {
<label htmlFor="input-rowclick">Row Click</label>
</div>
<DataTable value={products} selectionMode={rowClick ? undefined : 'multiple'} selection={selectedProducts!}
onSelectionChange={(e) => {
const value = e.value as Product[];
setSelectedProducts(value);
}} dataKey="id" tableStyle={{ minWidth: '50rem' }}>
onSelectionChange={(e) => setSelectedProducts(e.value)} dataKey="id" tableStyle={{ minWidth: '50rem' }}>
<Column selectionMode="multiple" headerStyle={{ width: '3rem' }}></Column>
<Column field="code" header="Code"></Column>
<Column field="name" header="Name"></Column>
Expand Down
25 changes: 11 additions & 14 deletions components/doc/datatable/rowselection/disableddoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,16 +69,16 @@ import { Column } from 'primereact/column';
import { ProductService } from './service/ProductService';
interface Product {
id: string;
code: string;
name: string;
description: string;
image: string;
price: number;
category: string;
quantity: number;
inventoryStatus: string;
rating: number;
id?: string;
code?: string;
name?: string;
description?: string;
image?: string;
price?: number;
category?: string;
quantity?: number;
inventoryStatus?: string;
rating?: number;
}
export default function DisabledRowSelectionDemo() {
Expand All @@ -98,10 +98,7 @@ export default function DisabledRowSelectionDemo() {
return (
<div className="card">
<DataTable value={products} selectionMode="single" selection={selectedProduct!}
onSelectionChange={(e) => {
const value = e.value as Product;
setSelectedProduct(value);
}} dataKey="id" isDataSelectable={isRowSelectable} rowClassName={rowClassName} tableStyle={{ minWidth: '50rem' }}>
onSelectionChange={(e) => setSelectedProduct(e.value)} dataKey="id" isDataSelectable={isRowSelectable} rowClassName={rowClassName} tableStyle={{ minWidth: '50rem' }}>
<Column field="code" header="Code"></Column>
<Column field="name" header="Name"></Column>
<Column field="category" header="Category"></Column>
Expand Down
25 changes: 11 additions & 14 deletions components/doc/datatable/rowselection/eventsdoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,16 +79,16 @@ import { Toast } from 'primereact/toast';
import { ProductService } from './service/ProductService';
interface Product {
id: string;
code: string;
name: string;
description: string;
image: string;
price: number;
category: string;
quantity: number;
inventoryStatus: string;
rating: number;
id?: string;
code?: string;
name?: string;
description?: string;
image?: string;
price?: number;
category?: string;
quantity?: number;
inventoryStatus?: string;
rating?: number;
}
export default function RowSelectEventsDemo() {
Expand All @@ -112,10 +112,7 @@ export default function RowSelectEventsDemo() {
<div className="card">
<Toast ref={toast} />
<DataTable value={products} selectionMode="single" selection={selectedProduct!}
onSelectionChange={(e) => {
const value = e.value as Product;
setSelectedProduct(value);
}} dataKey="id" onRowSelect={onRowSelect} onRowUnselect={onRowUnselect} metaKeySelection={false} tableStyle={{ minWidth: '50rem' }}>
onSelectionChange={(e) => setSelectedProduct(e.value)} dataKey="id" onRowSelect={onRowSelect} onRowUnselect={onRowUnselect} metaKeySelection={false} tableStyle={{ minWidth: '50rem' }}>
<Column field="code" header="Code"></Column>
<Column field="name" header="Name"></Column>
<Column field="category" header="Category"></Column>
Expand Down
26 changes: 11 additions & 15 deletions components/doc/datatable/rowselection/multipledoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,16 +68,16 @@ import { InputSwitch, InputSwitchChangeEvent } from 'primereact/inputswitch';
import { ProductService } from './service/ProductService';
interface Product {
id: string;
code: string;
name: string;
description: string;
image: string;
price: number;
category: string;
quantity: number;
inventoryStatus: string;
rating: number;
id?: string;
code?: string;
name?: string;
description?: string;
image?: string;
price?: number;
category?: string;
quantity?: number;
inventoryStatus?: string;
rating?: number;
}
export default function MultipleRowsSelectionDemo() {
Expand All @@ -96,11 +96,7 @@ export default function MultipleRowsSelectionDemo() {
<label htmlFor="input-metakey">MetaKey</label>
</div>
<DataTable value={products} selectionMode="multiple" selection={selectedProducts}
onSelectionChange={(e) => {
if (Array.isArray(e.value)) {
setSelectedProducts(e.value);
}
}}
onSelectionChange={(e) => setSelectedProducts(e.value)}
dataKey="id" metaKeySelection={metaKey} dragSelection tableStyle={{ minWidth: '50rem' }}>
<Column field="code" header="Code"></Column>
<Column field="name" header="Name"></Column>
Expand Down
25 changes: 11 additions & 14 deletions components/doc/datatable/rowselection/radiobuttondoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,16 +68,16 @@ import { InputSwitch, InputSwitchChangeEvent } from 'primereact/inputswitch';
import { ProductService } from './service/ProductService';
interface Product {
id: string;
code: string;
name: string;
description: string;
image: string;
price: number;
category: string;
quantity: number;
inventoryStatus: string;
rating: number;
id?: string;
code?: string;
name?: string;
description?: string;
image?: string;
price?: number;
category?: string;
quantity?: number;
inventoryStatus?: string;
rating?: number;
}
export default function RadioButtonRowSelectionDemo() {
Expand All @@ -96,10 +96,7 @@ export default function RadioButtonRowSelectionDemo() {
<label htmlFor="input-rowclick">Row Click</label>
</div>
<DataTable value={products} selectionMode={rowClick ? undefined : 'radiobutton'} selection={selectedProduct!}
onSelectionChange={(e) => {
const value = e.value as Product;
setSelectedProduct(value);
}} dataKey="id" tableStyle={{ minWidth: '50rem' }}>
onSelectionChange={(e) => setSelectedProduct(e.value)} dataKey="id" tableStyle={{ minWidth: '50rem' }}>
<Column selectionMode="single" headerStyle={{ width: '3rem' }}></Column>
<Column field="code" header="Code"></Column>
<Column field="name" header="Name"></Column>
Expand Down
25 changes: 11 additions & 14 deletions components/doc/datatable/rowselection/singledoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,16 +67,16 @@ import { InputSwitch, InputSwitchChangeEvent } from 'primereact/inputswitch';
import { ProductService } from './service/ProductService';
interface Product {
id: string;
code: string;
name: string;
description: string;
image: string;
price: number;
category: string;
quantity: number;
inventoryStatus: string;
rating: number;
id?: string;
code?: string;
name?: string;
description?: string;
image?: string;
price?: number;
category?: string;
quantity?: number;
inventoryStatus?: string;
rating?: number;
}
export default function SingleRowSelectionDemo() {
Expand All @@ -95,10 +95,7 @@ export default function SingleRowSelectionDemo() {
<label htmlFor="input-metakey">MetaKey</label>
</div>
<DataTable value={products} selectionMode="single" selection={selectedProduct!}
onSelectionChange={(e) => {
const value = e.value as Product;
setSelectedProduct(value);
}} dataKey="id" metaKeySelection={metaKey} tableStyle={{ minWidth: '50rem' }}>
onSelectionChange={(e) => setSelectedProduct(e.value)} dataKey="id" metaKeySelection={metaKey} tableStyle={{ minWidth: '50rem' }}>
<Column field="code" header="Code"></Column>
<Column field="name" header="Name"></Column>
<Column field="category" header="Category"></Column>
Expand Down
Loading

0 comments on commit 1978a98

Please sign in to comment.