Our pure JavaScript Scheduler component


Post by burnit »

Hello,

we would like to create a collaborative scheduling system where you can filter by resources. For this we use event streaming over websocket. But how can we implement an undo/redo button with the ability to filter resources?

I.e. for example user A schedules hall 1( resource 1A, 1B, 1C) and user B schedules hall 2 (2A, 2B, 2C) and user C schedules parts of hall 1 and 2 (1A, 2B).
All would receive changes from each user via the websocket.
If they were to apply an undo, then potentially a changed event would be undone, but they might not see that undo because that resource is filtered.

That would be a problem. Is there a way to undo/redo events only from visible resources?

Many thanks.
André


Post by Maxim Gorkovsky »

Hello.
State Tracking Manager does not allow to filter out changes only to visible records. It records all data changes within a transaction.

It is possible, however, to apply remote changes and make STM to not record them. There is a config on a project model: https://bryntum.com/products/gantt/docs/api/Gantt/model/ProjectModel#config-ignoreRemoteChangesInSTM It is documented only for Gantt ProjectModel, but should also work for SchedulerPro ProjectModel. applyProjectChanges method on the project checks that config and disables STM when applying passed changes. That way undo/redo for a user will only affect his own changes, not other users' changes.


Post by burnit »

Hi Maxim,

thank you very much. This is what i want ;)

Kind regards,
André


Post by burnit »

Hi Maxim,

i just tried it, but it is not working.
How do i have to implement it? We are using React and Redux Store (RTK Query with streaming)


Post by alex.l »

Could you please share what exactly you tried?

All you need is to add https://bryntum.com/products/gantt/docs/api/Gantt/model/ProjectModel#config-ignoreRemoteChangesInSTM false into project config.

All the best,
Alex


Post by burnit »

Hi alex.l,

i think this is not working if i don't use the CRUD Manager, right?
We are using redux and our redux store.
Do you have any idea how to ignore remote changes while using redux?

Many thanks!


Post by marcio »

Hey burtnit,

Are you using inline data with redux and redux store??

Are you able to assemble a sample project with your configuration for us to check how to assist you on this ignore remote changes with redux issue?

Best regards,
Márcio


Post Reply