Skip to main content
Answer

How can I programmatically determine if a screen is currently using Modern or Classic UI?

  • July 24, 2025
  • 7 replies
  • 118 views

darylbowman
Captain II
Forum|alt.badge.img+15

The title says it all.

I want to show a button only if Modern UI is being used.

Best answer by Dmitrii Naumov

@darylbowman I think you are overthinking it. Could you just set Visible=false in aspx for that action?

7 replies

JSpikowski
Jr Varsity II
Forum|alt.badge.img
  • Jr Varsity II
  • July 24, 2025

I'm assuming the modern UI is JavaScript driven and the old UI is .net webforms.

What version of Acumatica is the modern UI implemented in?


Forum|alt.badge.img+2

Hello ​@darylbowman I think this post gives some idea about your task.
https://www.acumatica.com/blog/developer-preview-of-acumaticas-new-modern-ui/

I hope it helps.


darylbowman
Captain II
Forum|alt.badge.img+15
  • Author
  • July 24, 2025

 ...I think this post gives some idea about your task.

No, not really at all.


darylbowman
Captain II
Forum|alt.badge.img+15
  • Author
  • July 24, 2025

I'm assuming the modern UI is JavaScript driven and the old UI is .net webforms.

What version of Acumatica is the modern UI implemented in?

The Modern UI is built on HTML and TypeScript (which gets built into JavaScript, yes).

It is in preview in 24 R2 and 25 R1.


Dmitrii Naumov
Acumatica Moderator
Forum|alt.badge.img+7
  • Acumatica Moderator
  • Answer
  • July 24, 2025

@darylbowman I think you are overthinking it. Could you just set Visible=false in aspx for that action?


Tony Lanzer
Pro III
Forum|alt.badge.img+2
  • Pro III
  • July 24, 2025

@darylbowman , I think you could also query the SiteMap table to determine the SelectedUI value for the screen.


darylbowman
Captain II
Forum|alt.badge.img+15
  • Author
  • July 24, 2025

​...set Visible=false in aspx for that action

I think this is the easiest.

The closest I got in TypeScript was defining the action as PXActionState on the view and using a @handleEvent on RowSelected to enable it. The problem is, it didn’t work.