Skip to content

Commit cc16c7d

Browse files
Integrated latest changes at 05-09-2024 4:30:21 PM
1 parent 514d482 commit cc16c7d

File tree

88 files changed

+4798
-347
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+4798
-347
lines changed
Binary file not shown.
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import React, { useEffect} from 'react';
2+
import { useDispatch, useSelector } from "react-redux";
3+
import { ColumnDirective, ColumnsDirective, Filter, GridComponent, LazyLoadGroup, Inject, Page, Sort, Edit, Toolbar, Group } from '@syncfusion/ej2-react-grids'
4+
import { addRow, deleteRow, fetchData, updateRow } from './reducer/action';
5+
6+
const App = () => {
7+
let gridInstance;
8+
const toolbar = ['Add', 'Edit', 'Delete', 'Update', 'Cancel', 'Search'];
9+
const editSettings = {allowAdding: true, allowDeleting: true, allowEditing: true};
10+
const groupSettings={enableLazyLoading: true, columns:['ProductName'], showGroupedColumn: true};
11+
const filterSettings = {columns: [{field: 'CustomerName', matchCase: false, operator: 'startswith', predicate: 'and', value: 'Maria'}]}
12+
const sortSettings = {columns: [{ field: 'ProductID', direction: 'Descending' }]}
13+
const state = useSelector((state) => state);
14+
const dispatch = useDispatch();
15+
16+
const dataStateChange = (state) => {
17+
const query = gridInstance.getDataModule().generateQuery();
18+
dispatch(fetchData(state, query));
19+
}
20+
21+
const dataSourceChange = (state) =>{
22+
const query = gridInstance.getDataModule().generateQuery(true);
23+
if (state.requestType === "save") {
24+
if (state.action === "add") {
25+
dispatch(addRow(state, query));
26+
} else if (state.action === "edit") {
27+
dispatch(updateRow(state, query));
28+
}
29+
}
30+
if (state.requestType === 'delete') {
31+
dispatch(deleteRow(state, query));
32+
}
33+
}
34+
35+
useEffect(() => {
36+
if (gridInstance) {
37+
gridInstance.dataSource = state.data;
38+
}
39+
},[state.data])
40+
41+
return (
42+
<GridComponent ref={grid => gridInstance = grid} allowSorting={true} allowFiltering={true}
43+
allowPaging={true}
44+
allowGrouping={true}
45+
filterSettings={filterSettings}
46+
groupSettings={groupSettings}
47+
sortSettings={sortSettings}
48+
toolbar={toolbar}
49+
editSettings={editSettings}
50+
dataStateChange={dataStateChange}
51+
dataSourceChanged={dataSourceChange}
52+
>
53+
<ColumnsDirective>
54+
<ColumnDirective field='OrderID' headerText='Order ID' textAlign="Right" width='120' isPrimaryKey={true} />
55+
<ColumnDirective field='ProductName' headerText='Product Name' width='160' />
56+
<ColumnDirective field='ProductID' headerText='Product ID' textAlign="Right" width='120' />
57+
<ColumnDirective field='CustomerName' headerText='Customer Name' width='160' />
58+
</ColumnsDirective>
59+
<Inject services={[Page, Sort, Filter, Group, LazyLoadGroup, Edit, Toolbar]} />
60+
</GridComponent>
61+
)
62+
}
63+
64+
export default (App);
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import React, { useEffect} from 'react';
2+
import { useDispatch, useSelector } from "react-redux";
3+
import { ColumnDirective, ColumnsDirective, Filter, GridComponent, DataStateChangeEventArgs, LazyLoadGroup, Inject, Page, Sort, Edit, Toolbar, GroupSettingsModel, Group, SortSettingsModel, FilterSettingsModel, DataSourceChangedEventArgs, ToolbarItems, EditSettingsModel } from '@syncfusion/ej2-react-grids'
4+
import { addRow, deleteRow, fetchData, updateRow } from './reducer/action';
5+
6+
export interface gridState{
7+
data:{
8+
result:Object[];
9+
count:number;
10+
}
11+
}
12+
const App = () => {
13+
var gridInstance: GridComponent|null;
14+
const toolbar: ToolbarItems[] = ['Add', 'Edit', 'Delete', 'Update', 'Cancel', 'Search'];
15+
const editSettings: EditSettingsModel = {allowAdding: true, allowDeleting: true, allowEditing: true};
16+
const groupSettings: GroupSettingsModel={enableLazyLoading: true, columns:['ProductName'], showGroupedColumn: true};
17+
const filterSettings:FilterSettingsModel = {columns: [{field: 'CustomerName', matchCase: false, operator: 'startswith', predicate: 'and', value: 'Maria'}]}
18+
const sortSettings:SortSettingsModel = {columns: [{ field: 'ProductID', direction: 'Descending' }]}
19+
const state = useSelector((state: gridState) => state);
20+
const dispatch = useDispatch();
21+
22+
const dataStateChange = (state: DataStateChangeEventArgs) => {
23+
const query = (gridInstance as GridComponent).getDataModule().generateQuery();
24+
dispatch(fetchData(state, query));
25+
}
26+
27+
const dataSourceChange = (state: DataSourceChangedEventArgs) =>{
28+
const query = (gridInstance as GridComponent).getDataModule().generateQuery(true);
29+
if (state.requestType === "save") {
30+
if (state.action === "add") {
31+
dispatch(addRow(state, query));
32+
} else if (state.action === "edit") {
33+
dispatch(updateRow(state, query));
34+
}
35+
}
36+
if (state.requestType === 'delete') {
37+
dispatch(deleteRow(state, query));
38+
}
39+
}
40+
41+
useEffect(() => {
42+
if (gridInstance) {
43+
gridInstance.dataSource = state.data;
44+
}
45+
},[state.data])
46+
47+
return (
48+
<GridComponent ref={grid => gridInstance = grid} allowSorting={true} allowFiltering={true}
49+
allowPaging={true}
50+
allowGrouping={true}
51+
filterSettings={filterSettings}
52+
groupSettings={groupSettings}
53+
sortSettings={sortSettings}
54+
toolbar={toolbar}
55+
editSettings={editSettings}
56+
dataStateChange={dataStateChange}
57+
dataSourceChanged={dataSourceChange}
58+
>
59+
<ColumnsDirective>
60+
<ColumnDirective field='OrderID' headerText='Order ID' textAlign="Right" width='120' isPrimaryKey={true} />
61+
<ColumnDirective field='ProductName' headerText='Product Name' width='160' />
62+
<ColumnDirective field='ProductID' headerText='Product ID' textAlign="Right" width='120' />
63+
<ColumnDirective field='CustomerName' headerText='Customer Name' width='160' />
64+
</ColumnsDirective>
65+
<Inject services={[Page, Sort, Filter, Group, LazyLoadGroup, Edit, Toolbar]} />
66+
</GridComponent>
67+
)
68+
}
69+
70+
export default (App);
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
export let lazyLoadData = [];
2+
export function createLazyLoadData() {
3+
if (lazyLoadData.length) {
4+
return;
5+
}
6+
let customerid = ['VINET', 'TOMSP', 'HANAR', 'VICTE', 'SUPRD', 'HANAR', 'CHOPS', 'RICSU', 'WELLI', 'HILAA',
7+
'ERNSH', 'CENTC', 'OTTIK', 'QUEDE', 'RATTC', 'ERNSH', 'FOLKO', 'BLONP', 'WARTH', 'FRANK', 'GROSR', 'WHITC', 'WARTH',
8+
'SPLIR', 'RATTC', 'QUICK', 'VINET', 'MAGAA', 'TORTU', 'MORGK', 'BERGS', 'LEHMS', 'BERGS', 'ROMEY', 'ROMEY', 'LILAS',
9+
'LEHMS', 'QUICK', 'QUICK', 'RICAR', 'REGGC', 'BSBEV', 'COMMI', 'QUEDE', 'TRADH', 'TORTU', 'RATTC', 'VINET', 'LILAS',
10+
'BLONP', 'HUNGO', 'RICAR', 'MAGAA', 'WANDK', 'SUPRD', 'GODOS', 'TORTU', 'OLDWO', 'ROMEY', 'LONEP', 'ANATR', 'HUNGO',
11+
'THEBI', 'DUMON', 'WANDK', 'QUICK', 'RATTC', 'ISLAT', 'RATTC', 'LONEP', 'ISLAT', 'TORTU', 'WARTH', 'ISLAT', 'PERIC',
12+
'KOENE', 'SAVEA', 'KOENE', 'BOLID', 'FOLKO', 'FURIB', 'SPLIR', 'LILAS', 'BONAP', 'MEREP', 'WARTH', 'VICTE',
13+
'HUNGO', 'PRINI', 'FRANK', 'OLDWO', 'MEREP', 'BONAP', 'SIMOB', 'FRANK', 'LEHMS', 'WHITC', 'QUICK', 'RATTC', 'FAMIA'];
14+
15+
let product = ['Chai', 'Chang', 'Aniseed Syrup', 'Chef Anton\'s Cajun Seasoning', 'Chef Anton\'s Gumbo Mix',
16+
'Grandma\'s Boysenberry Spread', 'Uncle Bob\'s Organic Dried Pears', 'Northwoods Cranberry Sauce', 'Mishi Kobe Niku',
17+
'Ikura', 'Queso Cabrales', 'Queso Manchego La Pastora', 'Konbu', 'Tofu', 'Genen Shouyu', 'Pavlova', 'Alice Mutton',
18+
'Carnarvon Tigers', 'Teatime Chocolate Biscuits', 'Sir Rodney\'s Marmalade', 'Sir Rodney\'s Scones',
19+
'Gustaf\'s Knäckebröd', 'Tunnbröd', 'Guaraná Fantástica', 'NuNuCa Nuß-Nougat-Creme', 'Gumbär Gummibärchen',
20+
'Schoggi Schokolade', 'Rössle Sauerkraut', 'Thüringer Rostbratwurst', 'Nord-Ost Matjeshering', 'Gorgonzola Telino',
21+
'Mascarpone Fabioli', 'Geitost', 'Sasquatch Ale', 'Steeleye Stout', 'Inlagd Sill',
22+
'Gravad lax', 'Côte de Blaye', 'Chartreuse verte', 'Boston Crab Meat', 'Jack\'s New England Clam Chowder',
23+
'Singaporean Hokkien Fried Mee', 'Ipoh Coffee', 'Gula Malacca', 'Rogede sild', 'Spegesild', 'Zaanse koeken',
24+
'Chocolade', 'Maxilaku', 'Valkoinen suklaa', 'Manjimup Dried Apples', 'Filo Mix', 'Perth Pasties',
25+
'Tourtière', 'Pâté chinois', 'Gnocchi di nonna Alice', 'Ravioli Angelo', 'Escargots de Bourgogne',
26+
'Raclette Courdavault', 'Camembert Pierrot', 'Sirop d\'érable',
27+
'Tarte au sucre', 'Vegie-spread', 'Wimmers gute Semmelknödel', 'Louisiana Fiery Hot Pepper Sauce',
28+
'Louisiana Hot Spiced Okra', 'Laughing Lumberjack Lager', 'Scottish Longbreads',
29+
'Gudbrandsdalsost', 'Outback Lager', 'Flotemysost', 'Mozzarella di Giovanni', 'Röd Kaviar', 'Longlife Tofu',
30+
'Rhönbräu Klosterbier', 'Lakkalikööri', 'Original Frankfurter grüne Soße'];
31+
32+
let customername = ['Maria', 'Ana Trujillo', 'Antonio Moreno', 'Thomas Hardy', 'Christina Berglund',
33+
'Hanna Moos', 'Frédérique Citeaux', 'Martín Sommer', 'Laurence Lebihan', 'Elizabeth Lincoln',
34+
'Victoria Ashworth', 'Patricio Simpson', 'Francisco Chang', 'Yang Wang', 'Pedro Afonso', 'Elizabeth Brown',
35+
'Sven Ottlieb', 'Janine Labrune', 'Ann Devon', 'Roland Mendel', 'Aria Cruz', 'Diego Roel',
36+
'Martine Rancé', 'Maria Larsson', 'Peter Franken', 'Carine Schmitt', 'Paolo Accorti', 'Lino Rodriguez',
37+
'Eduardo Saavedra', 'José Pedro Freyre', 'André Fonseca', 'Howard Snyder', 'Manuel Pereira',
38+
'Mario Pontes', 'Carlos Hernández', 'Yoshi Latimer', 'Patricia McKenna', 'Helen Bennett', 'Philip Cramer',
39+
'Daniel Tonini', 'Annette Roulet', 'Yoshi Tannamuri', 'John Steel', 'Renate Messner', 'Jaime Yorres',
40+
'Carlos González', 'Felipe Izquierdo', 'Fran Wilson', 'Giovanni Rovelli', 'Catherine Dewey', 'Jean Fresnière',
41+
'Alexander Feuer', 'Simon Crowther', 'Yvonne Moncada', 'Rene Phillips', 'Henriette Pfalzheim',
42+
'Marie Bertrand', 'Guillermo Fernández', 'Georg Pipps', 'Isabel de Castro', 'Bernardo Batista', 'Lúcia Carvalho',
43+
'Horst Kloss', 'Sergio Gutiérrez', 'Paula Wilson', 'Maurizio Moroni', 'Janete Limeira', 'Michael Holz',
44+
'Alejandra Camino', 'Jonas Bergulfsen', 'Jose Pavarotti', 'Hari Kumar', 'Jytte Petersen', 'Dominique Perrier',
45+
'Art Braunschweiger', 'Pascale Cartrain', 'Liz Nixon', 'Liu Wong', 'Karin Josephs', 'Miguel Angel Paolino',
46+
'Anabela Domingues', 'Helvetius Nagy', 'Palle Ibsen', 'Mary Saveley', 'Paul Henriot', 'Rita Müller',
47+
'Pirkko Koskitalo', 'Paula Parente', 'Karl Jablonski', 'Matti Karttunen', 'Zbyszek Piestrzeniewicz'];
48+
49+
let customeraddress = ['507 - 20th Ave. E.\r\nApt. 2A', '908 W. Capital Way', '722 Moss Bay Blvd.',
50+
'4110 Old Redmond Rd.', '14 Garrett Hill', 'Coventry House\r\nMiner Rd.', 'Edgeham Hollow\r\nWinchester Way',
51+
'4726 - 11th Ave. N.E.', '7 Houndstooth Rd.', '59 rue de l\'Abbaye', 'Luisenstr. 48', '908 W. Capital Way',
52+
'722 Moss Bay Blvd.', '4110 Old Redmond Rd.', '14 Garrett Hill', 'Coventry House\r\nMiner Rd.',
53+
'Edgeham Hollow\r\nWinchester Way',
54+
'7 Houndstooth Rd.', '2817 Milton Dr.', 'Kirchgasse 6', 'Sierras de Granada 9993', 'Mehrheimerstr. 369',
55+
'Rua da Panificadora, 12', '2817 Milton Dr.', 'Mehrheimerstr. 369'];
56+
57+
let quantityperunit = ['10 boxes x 20 bags', '24 - 12 oz bottles', '12 - 550 ml bottles',
58+
'48 - 6 oz jars', '36 boxes', '12 - 8 oz jars', '12 - 1 lb pkgs.', '12 - 12 oz jars',
59+
'18 - 500 g pkgs.', '12 - 200 ml jars',
60+
'1 kg pkg.', '10 - 500 g pkgs.', '2 kg box', '40 - 100 g pkgs.', '24 - 250 ml bottles', '32 - 500 g boxes',
61+
'20 - 1 kg tins', '16 kg pkg.', '10 boxes x 12 pieces', '30 gift boxes', '24 pkgs. x 4 pieces', '24 - 500 g pkgs.',
62+
'12 - 250 g pkgs.',
63+
'12 - 355 ml cans', '20 - 450 g glasses', '100 - 250 g bags'];
64+
65+
let orderID = 10248;
66+
for (let i = 0; i < 20000; i++) {
67+
lazyLoadData.push({
68+
'OrderID': orderID + i,
69+
'CustomerID': customerid[Math.floor(Math.random() * customerid.length)],
70+
'CustomerName': customername[Math.floor(Math.random() * customername.length)],
71+
'CustomerAddress': customeraddress[Math.floor(Math.random() * customeraddress.length)],
72+
'ProductName': product[Math.floor(Math.random() * product.length)],
73+
'ProductID': i,
74+
'Quantity': quantityperunit[Math.floor(Math.random() * quantityperunit.length)]
75+
});
76+
}
77+
}
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
export let lazyLoadData: Object[] = [];
2+
export function createLazyLoadData(): void {
3+
if (lazyLoadData.length) {
4+
return;
5+
}
6+
let customerid: string[] = ['VINET', 'TOMSP', 'HANAR', 'VICTE', 'SUPRD', 'HANAR', 'CHOPS', 'RICSU', 'WELLI', 'HILAA',
7+
'ERNSH', 'CENTC', 'OTTIK', 'QUEDE', 'RATTC', 'ERNSH', 'FOLKO', 'BLONP', 'WARTH', 'FRANK', 'GROSR', 'WHITC', 'WARTH',
8+
'SPLIR', 'RATTC', 'QUICK', 'VINET', 'MAGAA', 'TORTU', 'MORGK', 'BERGS', 'LEHMS', 'BERGS', 'ROMEY', 'ROMEY', 'LILAS',
9+
'LEHMS', 'QUICK', 'QUICK', 'RICAR', 'REGGC', 'BSBEV', 'COMMI', 'QUEDE', 'TRADH', 'TORTU', 'RATTC', 'VINET', 'LILAS',
10+
'BLONP', 'HUNGO', 'RICAR', 'MAGAA', 'WANDK', 'SUPRD', 'GODOS', 'TORTU', 'OLDWO', 'ROMEY', 'LONEP', 'ANATR', 'HUNGO',
11+
'THEBI', 'DUMON', 'WANDK', 'QUICK', 'RATTC', 'ISLAT', 'RATTC', 'LONEP', 'ISLAT', 'TORTU', 'WARTH', 'ISLAT', 'PERIC',
12+
'KOENE', 'SAVEA', 'KOENE', 'BOLID', 'FOLKO', 'FURIB', 'SPLIR', 'LILAS', 'BONAP', 'MEREP', 'WARTH', 'VICTE',
13+
'HUNGO', 'PRINI', 'FRANK', 'OLDWO', 'MEREP', 'BONAP', 'SIMOB', 'FRANK', 'LEHMS', 'WHITC', 'QUICK', 'RATTC', 'FAMIA'];
14+
15+
let product: string[] = ['Chai', 'Chang', 'Aniseed Syrup', 'Chef Anton\'s Cajun Seasoning', 'Chef Anton\'s Gumbo Mix',
16+
'Grandma\'s Boysenberry Spread', 'Uncle Bob\'s Organic Dried Pears', 'Northwoods Cranberry Sauce', 'Mishi Kobe Niku',
17+
'Ikura', 'Queso Cabrales', 'Queso Manchego La Pastora', 'Konbu', 'Tofu', 'Genen Shouyu', 'Pavlova', 'Alice Mutton',
18+
'Carnarvon Tigers', 'Teatime Chocolate Biscuits', 'Sir Rodney\'s Marmalade', 'Sir Rodney\'s Scones',
19+
'Gustaf\'s Knäckebröd', 'Tunnbröd', 'Guaraná Fantástica', 'NuNuCa Nuß-Nougat-Creme', 'Gumbär Gummibärchen',
20+
'Schoggi Schokolade', 'Rössle Sauerkraut', 'Thüringer Rostbratwurst', 'Nord-Ost Matjeshering', 'Gorgonzola Telino',
21+
'Mascarpone Fabioli', 'Geitost', 'Sasquatch Ale', 'Steeleye Stout', 'Inlagd Sill',
22+
'Gravad lax', 'Côte de Blaye', 'Chartreuse verte', 'Boston Crab Meat', 'Jack\'s New England Clam Chowder',
23+
'Singaporean Hokkien Fried Mee', 'Ipoh Coffee', 'Gula Malacca', 'Rogede sild', 'Spegesild', 'Zaanse koeken',
24+
'Chocolade', 'Maxilaku', 'Valkoinen suklaa', 'Manjimup Dried Apples', 'Filo Mix', 'Perth Pasties',
25+
'Tourtière', 'Pâté chinois', 'Gnocchi di nonna Alice', 'Ravioli Angelo', 'Escargots de Bourgogne',
26+
'Raclette Courdavault', 'Camembert Pierrot', 'Sirop d\'érable',
27+
'Tarte au sucre', 'Vegie-spread', 'Wimmers gute Semmelknödel', 'Louisiana Fiery Hot Pepper Sauce',
28+
'Louisiana Hot Spiced Okra', 'Laughing Lumberjack Lager', 'Scottish Longbreads',
29+
'Gudbrandsdalsost', 'Outback Lager', 'Flotemysost', 'Mozzarella di Giovanni', 'Röd Kaviar', 'Longlife Tofu',
30+
'Rhönbräu Klosterbier', 'Lakkalikööri', 'Original Frankfurter grüne Soße'];
31+
32+
let customername: string[] = ['Maria', 'Ana Trujillo', 'Antonio Moreno', 'Thomas Hardy', 'Christina Berglund',
33+
'Hanna Moos', 'Frédérique Citeaux', 'Martín Sommer', 'Laurence Lebihan', 'Elizabeth Lincoln',
34+
'Victoria Ashworth', 'Patricio Simpson', 'Francisco Chang', 'Yang Wang', 'Pedro Afonso', 'Elizabeth Brown',
35+
'Sven Ottlieb', 'Janine Labrune', 'Ann Devon', 'Roland Mendel', 'Aria Cruz', 'Diego Roel',
36+
'Martine Rancé', 'Maria Larsson', 'Peter Franken', 'Carine Schmitt', 'Paolo Accorti', 'Lino Rodriguez',
37+
'Eduardo Saavedra', 'José Pedro Freyre', 'André Fonseca', 'Howard Snyder', 'Manuel Pereira',
38+
'Mario Pontes', 'Carlos Hernández', 'Yoshi Latimer', 'Patricia McKenna', 'Helen Bennett', 'Philip Cramer',
39+
'Daniel Tonini', 'Annette Roulet', 'Yoshi Tannamuri', 'John Steel', 'Renate Messner', 'Jaime Yorres',
40+
'Carlos González', 'Felipe Izquierdo', 'Fran Wilson', 'Giovanni Rovelli', 'Catherine Dewey', 'Jean Fresnière',
41+
'Alexander Feuer', 'Simon Crowther', 'Yvonne Moncada', 'Rene Phillips', 'Henriette Pfalzheim',
42+
'Marie Bertrand', 'Guillermo Fernández', 'Georg Pipps', 'Isabel de Castro', 'Bernardo Batista', 'Lúcia Carvalho',
43+
'Horst Kloss', 'Sergio Gutiérrez', 'Paula Wilson', 'Maurizio Moroni', 'Janete Limeira', 'Michael Holz',
44+
'Alejandra Camino', 'Jonas Bergulfsen', 'Jose Pavarotti', 'Hari Kumar', 'Jytte Petersen', 'Dominique Perrier',
45+
'Art Braunschweiger', 'Pascale Cartrain', 'Liz Nixon', 'Liu Wong', 'Karin Josephs', 'Miguel Angel Paolino',
46+
'Anabela Domingues', 'Helvetius Nagy', 'Palle Ibsen', 'Mary Saveley', 'Paul Henriot', 'Rita Müller',
47+
'Pirkko Koskitalo', 'Paula Parente', 'Karl Jablonski', 'Matti Karttunen', 'Zbyszek Piestrzeniewicz'];
48+
49+
let customeraddress: string[] = ['507 - 20th Ave. E.\r\nApt. 2A', '908 W. Capital Way', '722 Moss Bay Blvd.',
50+
'4110 Old Redmond Rd.', '14 Garrett Hill', 'Coventry House\r\nMiner Rd.', 'Edgeham Hollow\r\nWinchester Way',
51+
'4726 - 11th Ave. N.E.', '7 Houndstooth Rd.', '59 rue de l\'Abbaye', 'Luisenstr. 48', '908 W. Capital Way',
52+
'722 Moss Bay Blvd.', '4110 Old Redmond Rd.', '14 Garrett Hill', 'Coventry House\r\nMiner Rd.',
53+
'Edgeham Hollow\r\nWinchester Way',
54+
'7 Houndstooth Rd.', '2817 Milton Dr.', 'Kirchgasse 6', 'Sierras de Granada 9993', 'Mehrheimerstr. 369',
55+
'Rua da Panificadora, 12', '2817 Milton Dr.', 'Mehrheimerstr. 369'];
56+
57+
let quantityperunit: string[] = ['10 boxes x 20 bags', '24 - 12 oz bottles', '12 - 550 ml bottles',
58+
'48 - 6 oz jars', '36 boxes', '12 - 8 oz jars', '12 - 1 lb pkgs.', '12 - 12 oz jars',
59+
'18 - 500 g pkgs.', '12 - 200 ml jars',
60+
'1 kg pkg.', '10 - 500 g pkgs.', '2 kg box', '40 - 100 g pkgs.', '24 - 250 ml bottles', '32 - 500 g boxes',
61+
'20 - 1 kg tins', '16 kg pkg.', '10 boxes x 12 pieces', '30 gift boxes', '24 pkgs. x 4 pieces', '24 - 500 g pkgs.',
62+
'12 - 250 g pkgs.',
63+
'12 - 355 ml cans', '20 - 450 g glasses', '100 - 250 g bags'];
64+
65+
let orderID: number = 10248;
66+
for (let i: number = 0; i < 20000; i++) {
67+
lazyLoadData.push({
68+
'OrderID': orderID + i,
69+
'CustomerID': customerid[Math.floor(Math.random() * customerid.length)],
70+
'CustomerName': customername[Math.floor(Math.random() * customername.length)],
71+
'CustomerAddress': customeraddress[Math.floor(Math.random() * customeraddress.length)],
72+
'ProductName': product[Math.floor(Math.random() * product.length)],
73+
'ProductID': i,
74+
'Quantity': quantityperunit[Math.floor(Math.random() * quantityperunit.length)]
75+
});
76+
}
77+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import * as React from 'react';
2+
import * as ReactDOM from 'react-dom';
3+
import App from './App';
4+
5+
ReactDOM.render(<App />, document.getElementById('root'));
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { Query } from "@syncfusion/ej2-data";
2+
3+
export const Grid_FetchData = "Grid_FetchData";
4+
export const Grid_Add = "Grid_Add";
5+
export const Grid_Delete = "Grid_Delete";
6+
export const Grid_Editing = "Grid_Editing";
7+
8+
export const fetchData = (state, query) => ({
9+
type: "Grid_FetchData",
10+
payload: state,
11+
gridQuery: query
12+
});
13+
14+
export const addRow = (state, query) => ({
15+
type: "Grid_Add",
16+
payload: state,
17+
gridQuery: query
18+
});
19+
20+
export const deleteRow = (state, query) => ({
21+
type: "Grid_Delete",
22+
payload: state,
23+
gridQuery: query
24+
});
25+
26+
export const updateRow = (state, query) => ({
27+
type: "Grid_Editing",
28+
payload: state,
29+
gridQuery: query
30+
});

0 commit comments

Comments
 (0)