Login Authentication Restrictions To Components

I have a pop-up that is triggered on double click of subview in a table, with drop-down components that write to memory tags when changed. I would like the ability to change those controlled through login authentication.

On my main page view, I have placed a login/log out button. It is functioning correctly.

I have added the isDisabled property to my data options in the dropdown component and tried a couple different methods but no luck:

You can add the security measure on the double click action of the table. Switch your action to be a script and use the system.perspective.popup function to open your popup. You will see the security option at the bottom of the window.


I still need the popup to open for an un-authenticated user but just have the ability for them not to change the dropdowns on the popup.

Looks like I can still use your method and add a onClick event script on the dropdown component. Just not sure what my script should say in order to toggle 'isDisabled' property based on authentication?

You can add a binding on the props.enabled to prevent use of the component.

To make certain you can also set who has read/write permissions for tags in the tag configuration.

Not enough detail for my experience level to follow sorry.

Every Input category component has a property named enabled at the top level of props (tagQualityDropdown.props.enabled in your View) which is used to determine when a component may be interacted with. This property dictates the enabled state of the entire component, preventing users from even expanding the dropdown if they don't meet the conditions you set forth.

We have testing around the isDisabled property, so it is behaving as expected, and your issue is far more likely to be a discrepancy in how your tagQualityDropdown.custom.auth property is being defined. It's very likely that in the Designer you've got the property as true (and are therefore seeing your expected false value), but in the running session that property is not being set as expected (and therefore entering the fallback true case).

One way to simplify this is to bind tagQualityDropdown.props.enabled with a binding against session.props.auth.authenticated.

1 Like

Thank you! I saw the enabled property but was looking to quick and thought it was under the placeholder hierarchy.

Thanks again!