We need the ability to easily hide the "New" button for inline views

I continue to come across instances where we have a parent-child relationship, and we want to show data split via that relationship, but we don’t want users to be able to create a record through the inline view.

We want to use the inline view as a read-only space, many clients now opting to use a dedication action (since we can both pass information along but also do more than just one action).

The slow down here is that in order to enable this hybrid behavior, you have to create a slice that’s read-only (or at least excluding the delete permission) - then base everything off that.

This is fine if you have 1 or 2 ref tables to show - but what happens when you’ve got 15? That’s a lot of overhead just to remove the “New” button under an inline view.

Is there an easier way to remove the “New” button under an inline view?

3 Likes

You can hide that “New” button if you hide that table’s system generated Add action. Then you need to create your own “Add” action if needed.

2 Likes

Nice tip!

@MultiTech_Visions - let us know how that works for you. I may be able to put this to good use!

@MultiTech_Visions @Aleksi Maybe this should be a feature request . An option to show or not would be very handy.

2 Likes

Indeed, if you set the Prominence of the system generated “Add” action, it hides the corresponding “New” button for inline views.
CloudApp

However if you create your own add action, the “New” button on inline views returns

CloudApp

@Lynn I think you’re right, we need a dedicated control - which needs a feature request. @Grant_Stead made one quite some time ago: click to view

I was thinking, inline views are represented in the editor as a virtual column - which has an “Editable?” control. Perhaps that could be appropriated to control the visibility of the “New” button for the inline view. That kinda makes it read only. :slight_smile:

CloudApp

@MultiTech_Visions , if you create your own deep link add action with the option “Go to another view within this app” it won’t return that new button.

1 Like

@Aleksi You tha man!

Hi,

Is there any articles or information I can read to learn how to accomplish this?

I also would like to be able to remove the “new” and “view” buttons or even change the name to “add”.

I was attempting to ask about the below comment:

@MultiTech_Visions , if you create your own deep link add action with the option “Go to another view within this app” it won’t return that new button.”

@Josh_Klassen Check this article… https://help.appsheet.com/data/columns/app-column-type-deep-link

Is there anyway to finetune when the New button appears, based on data in a particular row? I tried adding an expression to the Behaviour property of the Add action, but the effect seems to apply to all the rows.
The expression I had was a dereferenced value from another table, e.g., “[AddressID].[IsActive]”

Basically, I want to be add records to the child table only if the parent record has Active status, otherwise the “new” button should not appear.

Thanks

1 Like

I’m afraid that’s not possible with the row level. You can control it, but the value needs to come from outside of your table.

Ok. So the workaround I implemented for this was to display / allow the system Add action in the inline view, but put validation in the Valid_If of one of the columns of the child table, so that the record cant be saved if the parent record status is inactive. With an error message explaining why this type of note cannot be saved… So far so good.

2 Likes

Nice!

@Josh_Klassen I made a video showing how to do what you wanted (how to create your own action to create a child record in-place of the system generated action), then also included what @David_Joyce wanted (being able to restrict when child records are created).

Hope it helps!

5 Likes

Just finished doing this, works really well, thank you very much!

2 Likes

@MultiTech_Visions Thank you very much - I really appreciate you videos :slight_smile:

Another way you can hide the NEW button in an inline view is to use the expression
CONTEXT("ViewType") <> "Detail"
in the Behavior.

2 Likes