11import * as React from 'react' ;
22import { createRoot } from 'react-dom/client' ;
33import { SpreadsheetComponent , SheetsDirective , SheetDirective , RangesDirective , RowsDirective , RowDirective } from '@syncfusion/ej2-react-spreadsheet' ;
4- import { RangeDirective , ColumnsDirective , ColumnDirective , CellsDirective , CellDirective } from '@syncfusion/ej2-react-spreadsheet' ;
4+ import { RangeDirective , ColumnsDirective , ColumnDirective , CellsDirective , CellDirective } from '@syncfusion/ej2-react-spreadsheet' ;
55import { shipmentData } from './datasource' ;
66
77function App ( ) {
@@ -34,6 +34,45 @@ function App() {
3434 }
3535 }
3636
37+ // prepare comments as an array and bind by index in the JSX below
38+ const cellComments = [
39+ {
40+ author : 'Julius Gorner' , text : 'Confirm delivery status for Order 10248.' , createdTime : 'November 18, 2025 at 3:00 PM' ,
41+ isResolved : true , replies : [ { author : 'Cristi Espinos' , text : 'Status verified as delivered.' , createdTime : 'November 18, 2025 at 3:30 PM' } ,
42+ { author : 'Julius Gorner' , text : 'Acknowledged, thank you.' , createdTime : 'November 18, 2025 at 3:45 PM' } ]
43+ } ,
44+ {
45+ author : 'Julius Gorner' , text : 'Order 10250 is marked as Shipped, any update on current status?' , createdTime : 'November 16, 2025 at 9:00 PM' ,
46+ isResolved : false , replies : [ { author : 'Cristi Espinos' , text : 'Shipment is in transit.' , createdTime : 'November 17, 2025 at 3:30 PM' } ,
47+ { author : 'Julius Gorner' , text : 'Thanks for the update.' , createdTime : 'November 17, 2025 at 3:45 PM' } ]
48+ } ,
49+ {
50+ author : 'Julius Gorner' , text : 'Reason for cancellation of Order 10253?' , createdTime : 'November 18, 2025 at 1:00 PM' ,
51+ isResolved : false , replies : [ { author : 'Cristi Espinos' , text : 'Customer requested cancellation.' , createdTime : 'November 18, 2025 at 1:30 PM' } ,
52+ { author : 'Julius Gorner' , text : 'Understood, thanks.' , createdTime : 'November 18, 2025 at 3:15 PM' } ]
53+ } ,
54+ {
55+ author : 'Julius Gorner' , text : 'Pending status for Order 10254 - any progress?' , createdTime : 'November 19, 2025 at 3:00 PM' ,
56+ isResolved : false , replies : [ { author : 'Cristi Espinos' , text : 'Awaiting customs clearance.' , createdTime : 'November 19, 2025 at 3:30 PM' } ,
57+ { author : 'Julius Gorner' , text : 'Please keep me posted,' , createdTime : 'November 19, 2025 at 3:45 PM' } ]
58+ } ,
59+ {
60+ author : 'Julius Gorner' , text : 'Order 10256 shipped, tracking details shared?' , createdTime : 'November 18, 2025 at 3:00 AM' ,
61+ isResolved : false , replies : [ { author : 'Cristi Espinos' , text : 'Tracking sent via email,' , createdTime : 'November 18, 2025 at 3:30 AM' } ,
62+ { author : 'Julius Gorner' , text : 'Received, thank you,' , createdTime : 'November 18, 2025 at 3:45 AM' } ]
63+ } ,
64+ {
65+ author : 'Julius Gorner' , text : 'Delivered order 10257, confirm recipient name.' , createdTime : 'November 18, 2025 at 2:00 PM' ,
66+ isResolved : true , replies : [ { author : 'Cristi Espinos' , text : 'Recipient verified as Michael Holz.' , createdTime : 'November 18, 2025 at 2:30 PM' } ,
67+ { author : 'Julius Gorner' , text : 'Great, noted.' , createdTime : 'November 18, 2025 at 2:45 PM' } ]
68+ } ,
69+ {
70+ author : 'Julius Gorner' , text : 'Order 10258 cancelled, reason documented?' , createdTime : 'November 18, 2025 at 12:00 PM' ,
71+ isResolved : false , replies : [ { author : 'Cristi Espinos' , text : 'Customer changed requirements' , createdTime : 'November 18, 2025 at 12:30 PM' } ,
72+ { author : 'Julius Gorner' , text : 'Understood, thanks.' , createdTime : 'November 18, 2025 at 12:45 PM' } ]
73+ }
74+ ] ;
75+
3776 return (
3877 < div >
3978 < SpreadsheetComponent ref = { spreadsheetRef } showCommentsPane = { true } openUrl = 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/open' saveUrl = 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/save' created = { onCreated . bind ( this ) } >
@@ -45,65 +84,37 @@ function App() {
4584 < RowsDirective >
4685 < RowDirective index = { 1 } >
4786 < CellsDirective >
48- < CellDirective index = { 4 } comment = { {
49- author : 'Julius Gorner' , text : 'Confirm delivery status for Order 10248.' , createdTime : 'November 18, 2025 at 3:00 PM' ,
50- isResolved : true , replies : [ { author : 'Cristi Espinos' , text : 'Status verified as delivered.' , createdTime : 'November 18, 2025 at 3:30 PM' } ,
51- { author : 'Julius Gorner' , text : 'Acknowledged, thank you.' , createdTime : 'November 18, 2025 at 3:45 PM' } ]
52- } } > </ CellDirective >
87+ < CellDirective index = { 4 } comment = { cellComments [ 0 ] } > </ CellDirective >
5388 </ CellsDirective >
5489 </ RowDirective >
5590 < RowDirective index = { 3 } >
5691 < CellsDirective >
57- < CellDirective index = { 4 } comment = { {
58- author : 'Julius Gorner' , text : 'Order 10250 is marked as Shipped, any update on current status?' , createdTime : 'November 16, 2025 at 9:00 PM' ,
59- isResolved : false , replies : [ { author : 'Cristi Espinos' , text : 'Shipment is in transit.' , createdTime : 'November 17, 2025 at 3:30 PM' } ,
60- { author : 'Julius Gorner' , text : 'Thanks for the update.' , createdTime : 'November 17, 2025 at 3:45 PM' } ]
61- } } > </ CellDirective >
92+ < CellDirective index = { 4 } comment = { cellComments [ 1 ] } > </ CellDirective >
6293 </ CellsDirective >
6394 </ RowDirective >
6495 < RowDirective index = { 6 } >
6596 < CellsDirective >
66- < CellDirective index = { 4 } comment = { {
67- author : 'Julius Gorner' , text : 'Reason for cancellation of Order 10253?' , createdTime : 'November 18, 2025 at 1:00 PM' ,
68- isResolved : false , replies : [ { author : 'Cristi Espinos' , text : 'Customer requested cancellation.' , createdTime : 'November 18, 2025 at 1:30 PM' } ,
69- { author : 'Julius Gorner' , text : 'Understood, thanks.' , createdTime : 'November 18, 2025 at 3:15 PM' } ]
70- } } > </ CellDirective >
97+ < CellDirective index = { 4 } comment = { cellComments [ 2 ] } > </ CellDirective >
7198 </ CellsDirective >
7299 </ RowDirective >
73100 < RowDirective index = { 7 } >
74101 < CellsDirective >
75- < CellDirective index = { 4 } comment = { {
76- author : 'Julius Gorner' , text : 'Pending status for Order 10254 - any progress?' , createdTime : 'November 19, 2025 at 3:00 PM' ,
77- isResolved : false , replies : [ { author : 'Cristi Espinos' , text : 'Awaiting customs clearance.' , createdTime : 'November 19, 2025 at 3:30 PM' } ,
78- { author : 'Julius Gorner' , text : 'Please keep me posted,' , createdTime : 'November 19, 2025 at 3:45 PM' } ]
79- } } > </ CellDirective >
102+ < CellDirective index = { 4 } comment = { cellComments [ 3 ] } > </ CellDirective >
80103 </ CellsDirective >
81104 </ RowDirective >
82105 < RowDirective index = { 9 } >
83106 < CellsDirective >
84- < CellDirective index = { 4 } comment = { {
85- author : 'Julius Gorner' , text : 'Order 10256 shipped, tracking details shared?' , createdTime : 'November 18, 2025 at 3:00 AM' ,
86- isResolved : false , replies : [ { author : 'Cristi Espinos' , text : 'Tracking sent via email,' , createdTime : 'November 18, 2025 at 3:30 AM' } ,
87- { author : 'Julius Gorner' , text : 'Received, thank you,' , createdTime : 'November 18, 2025 at 3:45 AM' } ]
88- } } > </ CellDirective >
107+ < CellDirective index = { 4 } comment = { cellComments [ 4 ] } > </ CellDirective >
89108 </ CellsDirective >
90109 </ RowDirective >
91110 < RowDirective index = { 10 } >
92111 < CellsDirective >
93- < CellDirective index = { 4 } comment = { {
94- author : 'Julius Gorner' , text : 'Delivered order 10257, confirm recipient name.' , createdTime : 'November 18, 2025 at 2:00 PM' ,
95- isResolved : true , replies : [ { author : 'Cristi Espinos' , text : 'Recipient verified as Michael Holz.' , createdTime : 'November 18, 2025 at 2:30 PM' } ,
96- { author : 'Julius Gorner' , text : 'Great, noted.' , createdTime : 'November 18, 2025 at 2:45 PM' } ]
97- } } > </ CellDirective >
112+ < CellDirective index = { 4 } comment = { cellComments [ 5 ] } > </ CellDirective >
98113 </ CellsDirective >
99114 </ RowDirective >
100115 < RowDirective index = { 11 } >
101116 < CellsDirective >
102- < CellDirective index = { 4 } comment = { {
103- author : 'Julius Gorner' , text : 'Order 10258 cancelled, reason documented?' , createdTime : 'November 18, 2025 at 12:00 PM' ,
104- isResolved : false , replies : [ { author : 'Cristi Espinos' , text : 'Customer changed requirements' , createdTime : 'November 18, 2025 at 12:30 PM' } ,
105- { author : 'Julius Gorner' , text : 'Understood, thanks.' , createdTime : 'November 18, 2025 at 12:45 PM' } ]
106- } } > </ CellDirective >
117+ < CellDirective index = { 4 } comment = { cellComments [ 6 ] } > </ CellDirective >
107118 </ CellsDirective >
108119 </ RowDirective >
109120 </ RowsDirective >
0 commit comments