devextreme-reactive icon indicating copy to clipboard operation
devextreme-reactive copied to clipboard

Allow data export for React Scheduler

Open AngelineLim opened this issue 5 years ago • 5 comments

I'm using ...

  • [ ] React Grid
  • [ ] React Chart
  • [x] React Scheduler

Description

Hi there, referring to your 2019 roadmap plans, there seems to be plans to support export pdf for React Grid and Chart, it'd be nice to also support that for React Scheduler.

AngelineLim avatar Apr 26 '19 06:04 AngelineLim

Hi @AngelineLim,

Thank you for your interest in our product! As you can see, we include our features planned for future releases in our roadmap. We will consider implementation of the feature you require as well.

Thus, you are more than welcome to describe your use cases. They will be helpful.

Currently, we can suggest you use a simple workaround.

MaximKudriavtsev avatar Apr 26 '19 11:04 MaximKudriavtsev

Hi @MaximKudriavtsev, thanks for the workaround! Unfortunately, it doesn't fit very well with what I want to achieve, as the approach doesn't download the full schedule, especially when there're long lists of appointments on the Scheduler.

The attached image shows that the appointments after 3.30pm are being cut off. workaround_scheduler

Here's a more detailed description of my use case: I want to be able to export react scheduler in various formats such as pdf, jpg, png etc. so that our users will have the option to achieve one/more of the followings:

  • print their schedule of a particular week/month
  • save as a desktop screensaver for a particular week/month
  • adjust the sizes/formats of the scheduler to be sharable across various platforms such as facebook, twitter or instagram

Let me know if my description is unclear, and am happy to elaborate/discuss further. Thank you!

AngelineLim avatar Apr 30 '19 05:04 AngelineLim

@AngelineLim,

Thank you for your suggestion. The third point is unclear to me, please describe it in greater detail. We will consider implementing this feature with all these requirements in the future.

As for a workaround, currently, we don't have a good one. If you make a better solution, please share it with our community, your experience will be helpful. Thank you in advance for your cooperation.

MaximKudriavtsev avatar Apr 30 '19 06:04 MaximKudriavtsev

Hi @MaximKudriavtsev,

Sincere apologies for the delay. I did manage to figure out a solution to the issue, but didn't have the time to post it here back then.

Just a heads up, it's not the best way to do it as it doesn't promote code reusability, but here's why it didn't work before:

  • The Grid MUI element used to contain the timetable has a CSS property of 'overflowY: auto' (refer here)

, but in order for domtoimage to capture elements hidden under the scroll, we need to:

  • replace it with CSS property of 'overflowY: scroll'; and
  • tell domtoimage that this is your node of interest, using your querySelector/getElementById

I simply replaced your vertical view layout with my own to make it work.

AngelineLim avatar May 18 '19 06:05 AngelineLim

@AngelineLim

Thank you for the research and clarification.

MaximKudriavtsev avatar May 20 '19 05:05 MaximKudriavtsev