Oct 17, 2024 12:01 PM
Hello all!
I’m working with an interface in Airtable where each record has a side panel that opens when I click on it, showing more information related to that record. When I click the link button at the top-right corner of the panel, I get a unique URL that directs me to that record with the side panel already opened, were I to paste it into a new window or share with a colleague.
For example, each record has a unique detail parameter in the URL that seems to encode both the record ID and other information. I’ve tried creating a formula to dynamically generate these URLs based on the RECORD_ID(), but I can't figure out how to replicate the exact structure of the detail parameter that opens the side panel view for each record. I've used AI to try and help, but the best solution proposed so far is manually entering each URL into the field.... Not happening.
My goal is to create a button (or use a formula) that I can put in another interface page, using the same data(table) as that in the other interface, that will allow me to jump to this other interface with the side panel open for the record associated with it.
Any advice or suggestions would be greatly appreciated! I’m looking for a scalable solution as I have many records, and manually generating the URLs would be time-consuming.
Thank you thank you thank you!!!
Oct 19, 2024 06:14 AM
Hello,
I do no not have a direct answer to you question, but if what you are interested in is to display an "item focus" page when clicking on a button, you can do the following:
- Add a hidden blank page to your interface starting with a record picker element set on the table hosting the records you want to focus on
- Design this new page as you wish
- Publish the page and copy the URL up to the = sign
- In the table you are focusing on, add a formula field as being the URL part that you copied + RECORD_ID()
- Add a button field referring to this formula
The reason why I suggest to insert 2 fields, one for the URL formula, the other for the button is because you may want tp propagate this url into other linked tables.
Regards,
Pascal
Oct 22, 2024 06:15 AM
For some reason, the side panel URL uses a base64 encoded string, making it very difficult to formulaically recreate the URL.
If you decode the string, it looks something like this:
{"pageId":"{{pageID}}","rowId":"{{recordID}}","showComments":false,"queryOriginHint":null}
I suppose you could use an automation with a script step to populate a field for each record with the encoded string that should go on the end of each URL. I can help with that if you want, but I almost would recommend against it as it's a bit fallible.
A much easier fix is to use the full-page option for your detail page, instead of the side sheet. This changes the URL so that it simply uses the record ID and is super easy to emulate using a formula (what @Pascal_Gallais- described).
Nov 13, 2024 06:52 AM
@Pascal_Gallais- @AlliAlosa I will try these in the coming days. Thanks for the help. I do wish the record selector view was mobile compatible(or that I could target that sideloading view more directly, on our existing view) but hard to deny this is a solution.
Thanks for the help.