Premium support for our pure JavaScript UI components


Post by tomerPlanit »

Hi I am working with scheduler 5.2.2v and angular 13.

After a try to upgrade the scheduler to 5.2.3 or 5.2.4 I found that the scheduler get broken:

1.png
1.png (95.42 KiB) Viewed 723 times

After a deep research I Found that the problem is because directions play.

When we start with the scheduler about 3 years you say that you don't support "rtl" direction, and our product is supported "rtl".
So for solve the problem until scheduler will support "rtl" direction, our application architecture is that the <body> is in "rtl" but the div that is parent of the scheduler is always in "ltr".

Now that solution make the scheduler broken.

I believe that this happened because you are developing the "rtl" direction feature but now I can't upgrade the scheduler.

I created a demo based on your Angular 11 demo:

angular-11-routing.rar
(14.67 MiB) Downloaded 49 times

For reproduce you need to zoom and scroll to some side of the scheduler.

How can we solve it(it is very critical bug)?


Post by mats »

Your workaround should no longer be needed as rtl is now working, try it here: https://bryntum.com/products/scheduler/examples/booking/?rtl

Does it work if you remove your workaround?


Post by tomerPlanit »

Hi mats,
It looks like no problem with the time line if I remove my workaround.
1) But what if I want application in "rtl" but the scheduler in "ltr"?
2) In first check the infinite scroll not work properly(When get to the end of the scroll get some dates jumps).


Post by Animal »

There appears to be a bug in infinite scrolling when the scheduler is in RTL mode: https://github.com/bryntum/support/issues/5711

You should be able to render your Scheduler into an element which has explicitly style direction : ltr and it will use LTR direction.

But there also seems to be a bug in how Widgets detect the RTL/LTR environment they are being used in. It always consults document.body instead of the closest enclosing Widget. So for example the SubGrids inside a Scheduler will be RTL if the document is in RTL mode: https://github.com/bryntum/support/issues/5710


Post by bbarrette-msft »

mats wrote: Thu Dec 01, 2022 9:39 pm

Your workaround should no longer be needed as rtl is now working, try it here: https://bryntum.com/products/scheduler/examples/booking/?rtl

Does it work if you remove your workaround?

Hi,

Is there documentation available on the RTL feature? I couldn't find anything in API docs and in the release notes.

I want to make sure of how it is enabled to better evaluate the impact of integrating this in our solution.

Thanks!
Bruno


Post by Animal »

We have not officially announced support yet, so using it right now would be the equivalent of using an alpha test release.

Having said that, we believe it works well, in all the products. I know of a report that Scheduler infinite timeline scrolling doesn't work so well, but have not had a chance to dig into that.


Post by bbarrette-msft »

Thanks for the reply!

I can understand it not being officially released yet, but knowing it's currently working well is promising.

It would still be interesting to have the details on what's needed to make it work. Looking at the code of the example above, there's no reference to RTL in the JS/CSS files so it's not clear what makes the Scheduler render this way.


Post by mats »

The Widget config to set is rtl : true, will be public as soon as we announce it officially:

/**
         * This may be configured as `true` to make the widget's element use the `direction:rtl` style.
         * @config {Boolean}
         * @default false
         * @private
         */
        rtl : null

Post by bbarrette-msft »

Thanks a lot for this answer @mats !


Post Reply