Hide action button for a specific table view

Hi everyone

>> I have a table called orders

>> Inside it there is an inline table called items.

>> In the item inline form there is a system action (Add) kindly see it here.

Untitled.jpg

>> The same item inline form is also showing in another table called (Task)

 

Is there a way to hide the "Add" button action from the item inline form in the task table, so it only appears in orders table.

 

Thanks 

Solved Solved
0 12 575
1 ACCEPTED SOLUTION

Thank you all very much, I have solved it like so

►This is what worked for me after many tries and errors◄

>> If you want to show the action button to some specific views add this line (make sure to attach _form or _detail at the end of the name) (You can get exact name from view - system generated or at the screen footer).

 

in(context("View"), list("Seller CA Slice_Detail", "Seller CA Slice_Form"))

 

>> If you want to show an action to all view but hide certain view do like this

 

CONTEXT("VIEW") <> "Task CA_Detail"

 

>> Here I am hiding from detail but you can hide from detail or form or both.

Problem I've encountered: Cause I have a deep link to a specific slice called (Task ca edit), I first created a new view for the slice (Task ca edit) and made it as ref since I did not want it to show in the app navigation or menu. This being said to take note that you can not use below snippet code if you do not make a view for your slice or table you want to control (hiding or showing action button). 

 

 

in(context("View"), list("Seller CA Slice_Detail", "Seller CA Slice_Form","Task ca edit_Detail","Task ca edit_Form"))

 

 

 

 

  

View solution in original post

12 REPLIES 12

You can move to Behavior => find this action 'Add' (of item table) => "Only if this condition is true" set "False"

@T_I_Phong 

False will hide the add action in ll tables.

I want to show it in one table and hide it from another table.

so You can set False with default action "Add", then you create another action "Add"

In order to show the action in some views (and hide it from others ) you can do the following:

Let's say you have three views: "View1", "View2", View3" and you only want to show the action "MyAction" to views 1 and 2. Try the following: 

  • Go to the action (the panel where you can set the name and all the properties)
  • Go to the Behavior section
  • Set the "Only if this condition is true" to: in(context("View"), list("View1", "View2"))

In this way, the action will be shown only in View1 and View2 and hidden in View3. 

I hope this helps

@Julio35  

Thank you, I have tried to use the view name and also tried with slice name but the Add button action's disappeared from all views.

aa1.jpg

Hi @aminsaleh ,

As far as i know, you don't need a slice here. 

You have a table called "Items". If you go to the action panel you will find all the actions related to the Items table. Under "Items" you will find the action called "Add".

Then, as for my previous reply, go to the behaviour section and type: in(context("View"), list("View1", "View2")).. where "View1" and "View2" are the views where you want "Add" to be displayed. 

 

 

I did 100% exactly what you said here (I put view name not slice name I know)

but the Add button action's disappeared from all views.

Yes, you can do this using the CONTEXT() function to hide the Inline table button from a specific view.  Below is an example where I hide the Add button from the "Related Purchase Orders" list in the Vendor Detail view.  See image below

NOTE: make sure you are changing the correct Add button!  Since the inline table below is a list of Purchase Orders, I want to hide the Purchase Order Add button

Screenshot 2023-09-16 at 12.34.52 PM.png

Screenshot 2023-09-16 at 12.25.32 PM.png

Hi @WillowMobileSys 

My view is called (seller Ca)

I used this but still no solution

CONTEXT("VIEW") <> "seller Ca"

Thank you all very much, I have solved it like so

►This is what worked for me after many tries and errors◄

>> If you want to show the action button to some specific views add this line (make sure to attach _form or _detail at the end of the name) (You can get exact name from view - system generated or at the screen footer).

 

in(context("View"), list("Seller CA Slice_Detail", "Seller CA Slice_Form"))

 

>> If you want to show an action to all view but hide certain view do like this

 

CONTEXT("VIEW") <> "Task CA_Detail"

 

>> Here I am hiding from detail but you can hide from detail or form or both.

Problem I've encountered: Cause I have a deep link to a specific slice called (Task ca edit), I first created a new view for the slice (Task ca edit) and made it as ref since I did not want it to show in the app navigation or menu. This being said to take note that you can not use below snippet code if you do not make a view for your slice or table you want to control (hiding or showing action button). 

 

 

in(context("View"), list("Seller CA Slice_Detail", "Seller CA Slice_Form","Task ca edit_Detail","Task ca edit_Form"))

 

 

 

 

  


@aminsaleh wrote:

AND(
in(context("View"), list("Seller CA Slice_Detail", "Seller CA Slice_Form")),

CONTEXT("VIEW") <> "Task CA_Detail"
)


You can simplify this, You do no need both lines.

Since it seems you want the Add button to SHOW only for the 2 views - "Seller CA Slice_Detail" and "Seller CA Slice_Form" - then you only need this part:

in(context("View"), list("Seller CA Slice_Detail", "Seller CA Slice_Form"))

 

@WillowMobileSys  Absolutely you are 100% correct 😍

Top Labels in this Space