Display formula results like link rows when relevant

Hello,

I’am very happy to have helped an NGO transition from many Google Sheets to Baserow.
It mostly works fine for us. The most useful feature for us would be able to click on formula results where the displayed results are actually (filtered) linked rows. They are currently displayed only as text only.
It doesn’t seem like a very complicated feature and actually with a little bit of guidance I’d be happy to submit a PR myself. I’am a developer with experience on Vue and have looked at the code, but I’d need a little bit of help.
Or maybe that is already planned ?

1 Like

Hello @maxime, first of all, welcome to the Baserow community :wave:

We’re glad to hear that you’d like to contribute a feature. You can find more information on how to make a code contribution here.

Let me check if we have an issue for this feature on GitLab. :ok_hand:

My topic might not be clear enough, I’m just adding screenshots to try and make it clearer. So this is how it’s currently displayed :

The multiple columns with formula are all basically in the form filter(field('[some field that is a Link to table'), ...).

Ideally, I would want to items in the cells of these columns to be clickable buttons (once the cell is selected), as are the items of the Link to table columns.

Hello Olga,
We typed our message at the same time :wink:.
Yes I have seen this documentation and I already have a local install of Baserow. But of course it’s a large codebase and not that easy to dive into, so if a developer could spend a few minutes to guide me on where to change code, that would be very helpful.

I couldn’t find an issue on GitLab that addresses this request. @nigel, could you please advise on what would be the best way to help @maxime with this code contribution?

This might be a tricky first issue to do:

  1. The lookup cell components are currently functional, if you wanted to make them open a modal on click that modal needs to be higher up in the component heirarchy somewhere where it isn’t functional, so you’ll need to figure out how to wire an event all the way up or use some sort of event bus
  2. The data in the lookup field cell is a JSON list that looks like this:
[{value: 1, ids:[1]}, {value:2, ids:[2]}]

The id is the id of the row that value is looked up out of. So this is perfect as hopefully you can use the existing ForgeinRowEditModal with this ID to show the right row. However id’s is a list, as a lookup can be looked up through multiple different rows/tables. I’d suggest just not trying to deal with this complexity and only handling the situations where theres one id in that list.

The key problem i see is that you have no idea what table the row id is from. The lookup field metadata might have some sort of target_field_id which is the field being looked up, but this doesn’t exist for normal formula functions that have the lookup formula embedded.

Hello @maxime, I’m not sure if you are still willing to contribute this feature, but we have also discussed this request with the team and we are going to build it. We don’t have any timelines at the moment, but it is definitely something we want to have in Baserow. Thanks for sharing it. :slightly_smiling_face:

2 Likes

This feature would definitely be great! How far are your discussions about it?
Thanks!