Hi Tasnim,
Yes, I can reproduce it there. Here's the code
import { Splitter, WidgetHelper, Gantt, SchedulerPro, ProjectModel } from '../../build/gantt.module.js?474608';
import shared from '../_shared/shared.module.js?474608';
// Project that will be shared by Gantt & SchedulerPro
const project = window.project = new ProjectModel({
startDate : '2019-01-16',
endDate : '2019-02-13',
// General calendar is used by default
calendar : 'general',
transport : {
load : {
url : '../_datasets/launch-saas.json'
}
},
autoLoad : true,
// This config enables response validation and dumping of found errors to the browser console.
// It's meant to be used as a development stage helper only so please set it to false for production systems.
validateResponse : true,
resourceStore: { fields: [{ name: "skills", defaultValue: ["skill 1", "skill 2"] }, { name: "group", defaultValue: "Group 1" }]}
});
const gantt = new Gantt({
project,
tbar : [
{
type : 'widget',
html : 'Zoom:'
},
{
ref : 'zoomInButton',
icon : 'b-icon-search-plus',
tooltip : 'Zoom in',
onAction : () => gantt.zoomIn()
},
{
ref : 'zoomOutButton',
icon : 'b-icon-search-minus',
tooltip : 'Zoom out',
onAction : () => gantt.zoomOut()
}
],
resourceImageFolderPath : '../_shared/images/users/',
appendTo : 'container',
flex : 1,
features : {
labels : {
left : {
field : 'name',
editor : {
type : 'textfield'
}
}
}
},
viewPreset : 'weekAndDayLetter',
columnLines : true,
columns : [
{ type : 'sequence', minWidth : 50, width : 50, text : '', align : 'right', resizable : false },
{ type : 'name', width : 280 },
{ type : 'percent', text : '% Completed', field : 'percentDone', showValue : false, width : 160 },
{ type : 'resourceassignment', text : 'Assigned Resources', showAvatars : true, width : 160 }
],
startDate : '2019-01-11',
listeners : {
beforeCellEditStart : ({ editorContext }) => editorContext.column.field !== 'percentDone' || editorContext.record.isLeaf
}
});
new Splitter({
appendTo : 'container'
});
const scheduler = new SchedulerPro({
project,
appendTo : 'container',
minHeight : '20em',
flex : 1,
partner : gantt,
rowHeight : 45,
eventColor : 'gantt-green',
useInitialAnimation : false,
resourceImagePath : '../_shared/images/users/',
features : {
dependencies : true,
percentBar : true,
tree: true,
treeGroup: true,
},
columns : [
{
type : 'resourceInfo',
field : 'name',
text : 'Resource',
showEventCount : false,
width : 330
},
{
field : 'group',
text : 'Resource',
showEventCount : false,
width : 330
},
{
field : 'skills',
text : 'Resource',
showEventCount : false,
width : 330
},
]
});
Without skills and group fields in the resource data objects it doesn't throw that error as there's no ID collision in that case. So here I just added default values and with them it shows another error.
Screenshot 2024-03-03 at 8.38.06 PM.png (655.52 KiB) Viewed 635 times
It's better to just download my example as it has all those field in the json file. So to reproduce simply put folder with example code into /examples in gantt-5.6.7. Run http-server from root. And go to /tree-group-array-column-issue
Thank you very much for the detailed report and helping to reproduce the issue. We'll investigate it. Here is the ticket to track progress https://github.com/bryntum/support/issues/8725.
Unfortunately no updates yet. But as you can see the ticket is already marked as high-priority, it will be resolved soon. You can subscribe to the ticket to get notified when it is done.
High-priority tickets usually takes 3-4 weeks timespan to get fixed but nowadays our team is bit busy with 6.0.0. But I'll drop a message to our project manage to prioritise it.