I'm starting to get somewhere
. I now already see I won't be able to do this for probably 10% of the components, but they are more exotic ones like the ABMChat or the ABMPercentSlider. I'll see how far I will get.
Also, although the content of a navigation sidebar will be Right-To-Left, the bar itself will always slide in from the left. This is because ABM has also ExtraSideBars and they always need to slide in from the right already.
Usage will be pretty simple:
You will be able to set RightToLeft support with one parameter, and on multiple levels:
ABM.RightToLeft = true/false ' the complete app
Page.RightToLeft = true/false ' at page level
Cell(1,1).RightToLeft = true/false ' at cell level
Component.RightToLeft = true/false ' at component level
I also noticed in Right-To-Left languages, you have to do some special stuff in the text for e.g. brackets. To get the brackets richt, just add chr(8206) after the ')'. This is the unicode for the lrm; (Left-to-right mark) in HTML.
"this is a test (1.0)" & Chr(8206)
So if for example you've set the page.RightToLeft = true, but now have cell you want to show LeftToRight, simple set cell(1,1).RightToLeft=false and it will overrule the page setting.
Primilary results looks promising:
View attachment 68516
But when you use LeftToRight in web apps, you really have to make the switch into your head, even for the grid! Someone who is used to RTL languages probably won't have a problem to so so, but for me it's quite 'strange'...
Notice here, it is like a 'mirror' of the original page:
View attachment 68517
I'll post later if I made enough progress to test.