TAB visible only if

Right now we have components that are visible IF something happens on the fields within 1 spreadsheet.

Can we extend it to the TABs? TAB visible only if something happens in other part of the app.
Moreover maybe it will be possible to place visible if condition not only on 1 spreadsheet but to others so we will have full flexibility.

2 Likes

What’s your use case for this? What is the condition you would want to put on a tab?

I want to allow people to vote on something if they have “points”, so in one tab I have personal info (mail, name, phone, points etc) and another tab is the voting tab.
If you have x points the tab is visible for you.
Alternatively I am thinking that the voting button itself can be hidden not the whole tab but here is another problem. Form (voting) button as component can be invisible under certain condition happening in this tab but I need to reference to another tab (personal info), so it’s not possible.

I’ve been mulling this over in my head. Maybe I need a little more clarification. On your voting tab, is it always only one item being voted on? If so, would it be reasonable to create a voting record for each user, then you would have an email to set up a relation column and a lookup column to pull in the points from the Personal Info sheet. From there you can use the points to set a condition on a button or other components to allow voting. You can use either a form button to submit results to another sheet, or just use entry fields to update the voting record you are on.

What about 4 columns in your voting sheet. One for email, and 3 more (one for each item being voted on)? Plus the reference and lookup to get the points. Put a condition on all of the components.

Problem is that voting form takes values from the column, so creating separate record for a user and binding it with points from another sheet is impossible. Two photos attached

If you’re thinking of the below, I think it can’t be arranged this way

voting%20choices%20row

I probably don’t have enough information to adequately help. If you can share your sheet and/or app, that can help a lot. So someone can vote on the same thing multiple times? I was under the impression that there were 3 categories to vote on and you only voted once for each category? Now I think I’m understanding that you can place multiple votes on one category until your points are used up. Please correct me if I’m wrong here. If i’m assuming correctly, then I think we should still have a Voting sheet with a record for each user like discussed before, except we only need a list of emails. Still create the reference and lookup to get the points from the user sheet. Use a form button and put a condition on it based on the point value from the lookup. All votes will be placed into a third sheet.

Now on the user sheet we will have an initial point value column that will always equal 15. Create a second points column with an arrayformula that will use a COUNTIF to get the total votes for that user from the form results sheet and subtract it from the inital points column (15-number of votes). This calculated point column is what is passed to the Voting sheet using the lookup.

1 Like

I will be happy to share the sheet but I need your mail I think.
The ideal situation is: user can vote only once for multiple choice in 1 category IF he has enough points in user sheet. After voting once, you can’t vote again.

So the points are only the “vote entry” criteria. You validate if the user has enough and let them vote or say they can’t vote.

I think I need a complete explanation how how the process should work from start to finish. I’m making a lot of assumptions right now. If you can make a copy of your app and sheet, remove any personal information, then make it shareable, I can take a look.

Right now, the way I understand it is that you want the button to show or hide based on a users point value. Should be easily doable creating a voting record for each user and then using relation and lookup columns to pull the point value, or modify the voting record sheet to pull necessary values from the user sheet. The point value can be used to set the visibility condition on the form button. In your Form, you would have choice component to vote. The votes will be submitted to a third Voting Response sheet. We can then use a relation and lookup to link the voting record sheet to the voting response sheet to pull in any votes that have been made. If you wanted, we could alter the visibility condition on the form button to use a template column which could maybe combine the points and voting responses to set the condition if both of the pieces need to come into play.

Jeff, your assumptions are 100% correct, how to show voting record for each user. That’s my problem.

I don’t see any reason why this couldn’t be easily done using the methods I stated above. Like I said…If you can make a copy of your app and sheet, remove any personal information, then make the app shareable, I can take a look. I don’t want to keep throwing ideas out that might not fit your intended situation. Also a thorough start to finish explanation would help. What does the voting screen look like? What are the points and how do they come into play? Do you need a point value greater than zero, or is there a certain number you need? Does the voting affect the number of points the user has? How do you use the results? I could go on all day. I need more information.

2 Likes

Hey Jeff, your advice helped. I managed to do all the voting in the way I wanted. Thank you!

1 Like

Was hoping for this, specifically for a multi-language app.

@Jeff_Hager, picking this up to avoid creating a new post…

My use case is to apply conditional visibility to a tab for admin’s only.
Or having a specific group of people only see a tab?

I would use it the exact same way. Currently I have each component on the tab visible/hidden based on admin group, but I’d rather hide the whole tab.

1 Like

@Victor_Olawuni the ability to conditionally hide or show a tab isn’t an option right now as far as I know. @Tim_Sullivan’s solution is probably the best option.

2 Likes

Thanks @Tim_Sullivan & @Jeff_Hager
I guess that would work, will allow me to think outside the box a little

1 Like

If you move the tab up to the hamburger menu, you can use it like a “soft” security feature. Leave a couple features available for anyone to see/use, then hide the rest for your admin admin or special users.

2 Likes

This is exactly what I do. I place my “Admin” tab at the bottom of the hamburger menu. Then, if a regular user attempts to access the tab, they’ll instead see something quippy.

2 Likes