To be honest I was a bit disappointed that we could still not control the View Transition through manifest administration. Although we can with IP14 default a theme by either manifest administration or object manager parameter the out-of-the-box View transition defaults to… well “null”. And really setting it to “Fade In” will make the overall user experience so much better! Alright maybe tweaking (lowering) a bit the transition times which default to .5s. Or set the transition time to nearly zero in which case the Fade In transition prevents you seeing “moving parts” in the view while you navigate around.
I wrote a brief article about how View Transitions work when this became available in IP13. It is quite a nifty feature. Well, I guess it would have been better if Oracle would have seeded the shipped “Fade In – Fade Out” transition as the default for earlier mentioned reasons. But then still you would have to cater for upgrades where one would ideally as much as possible maintain user preference settings.
So I thought – along the lines of Theme defaulting using manifest administration, could we do the same for View transitions too? And yes, we can. And it turned out to be so damn simple too.
For that I created a new Transition called “Manifest Controlled” for which you simply have to create an LOV entry for Type = PAGE_TRANSITION.
Next I created a separate fadeinout.css which contains the Fade In Fade Out classes. To make life easy I just copy-pasted it from the theme-aurora.css.uncompressed which comes with IP14. I modified it such that the language independent value I created for the LOV is referenced by the four classes. Again, to understand how View Transitions work look at my previous post.
Finally administering the custom fadeinout.css in the Manifest Administration does the trick. To keep things simple for now I just added it to the exiting “Theme” which also enables loading the theme-aurora.css itself. But you will ge the point. I do not see real use cases to use expressions actually. Just to ensure that every user has the “Fade In Fade Out” transition by default. And… if the user decides otherwise, the user preference will simply override.
Voilá, you have a Manifest Administered transition 🙂