Issues with Dynamic Data Source for Editable Tag Column Options List

I'm building a multi-page app with a page-scoped table component. This table has an editable tag column. I want the tag options list (which is based on my page-scoped transformer, responsible_party_options) to be filtered based on the current table row (currentSourceRow). So I tried to use this dynamic data source for the tag column options list

{{
    responsible_party_options.value.filter(o => {
      return o.supported_project_types.has(currentSourceRow.TYPE)
    })
}}

but I'm having trouble with it...

Problems I'm Experiencing:

  • The options list is not loaded ("This column doesn't have an options list..." warning) after page refresh or when viewing the app outside of editor mode. If I copy and paste my code from the options list data source back into to data source, it loads.
  • Using the dynamic data source for this column interferes with the options list loading for the other tag column (Category) in my table.

My Org and App Details:

Screenshots...

:x: tag column options list data source set to dynamic:



image

:heavy_check_mark: tag column options list data source mapped to responsible_party_options:


image

Thanks so much for the detailed post, @sgodoshian! Unfortunately, we don't support references to currentRow or currentSourceRow in tag column option lists yet :slightly_frowning_face: I've added your +1 internally

I know it's not the same UI, but we usually recommend a select component separate from the table or a select component nested in an expandable row :disappointed:

I am experiencing this as well. It seems strange it isn't supported yet works. Just a quick question, I have seen reference often to expandable rows in tables. I am not seeing any way to expand a row. How is this done?

Here is what it is doing for me. I have a column in the source row that is an array and I use this currentSourceRow.arrayColumn as the options list. I works but not supported is the app is refreshed. very very strange. Can we reference currentRow as a supported mapping to the options list?

Edit:
I mis-spoke. I also am getting the same behavior when using a mapping to an array that exists outside the table. I have also been experiencing my table constantly changing is structure on its own while I am editing. For some reason, suddenly some columns will no longer be in the table or some extra ones that I had delete before come back in. Its getting super annoying. I bring it up because I think the two issue's I am having are related to the issue in this post. When I delete one of the columns that isn't supposed to be there, the mapped options list column will suddenly start resolving. It seems like the table component isn't resolving its references on app first load. This table component I am having issues with is on a modal frame and I think maybe there is something to note there. I have a mapped options list in another table that is not in a modal frame and there are no issues.

Edit again:
Looking closer at it, it seems I am unable to reference anything in the mapping FX box. Everything I put in there gets underlined in yellow like it isn't being seen but it does evaluate. Until I reload the app and then I have to give it a shake again to get it to start evaluating.

Here is a little gif showing what is happing. At first you can see some of the tags are loaded. That is because I reset the tag column during a time when the table only had four items. Then when I load in a different order that has more items, the extra items need to have the tag column reset again.

Untitled video - Made with Clipchamp

Hi @Shawn_Crocker,

Thanks for chiming in! No, we don't support referencing currentRow in the data source for the options list, but it should support other dynamic values. The modal frame detail is interesting as well :thinking:

I am reporting this to our team, but I haven't been able to reproduce it. If you're able to share an export of your app with hardcoded data (you can send as a direct message), that would help in moving closer to a fix

Exports with hardcoded data can be downloaded here:

Thanks. Actually, I am not seeing the static reference acting up anymore. Maybe the table component was acting weird because it didn't like my use of currentSourceRow in another tag column options mapping? The one column where I would really like to use currentSourceRow I changed to reference selectedSourceRow. This is really not at all desirable though because for the items in all the column rows to populate there chosen value, I have to select the "allow custom values" option. Just for some context, The table I am editing is displaying products that are going to be sent to the production floor. Each product usually has multiple revisions and I am storing the available revisions of each item on the item in the table as an array which is populating the tag column option. So from the table one can select a different revision to build.

1 Like

Thanks for the update, @Shawn_Crocker! I shared this extra context with the team that owns the table

Sorry, I think there was some confusion here. We do support currentSourceRow in the template string for the data source and if that is not working properly there is a bug. @sgodoshian or @Shawn_Crocker – it would be a great help if you could send over a repro app with hard-coded query results in a DM as Tess suggested. Thanks!

I am experiencing something similar when trying to use a filter in a tag's Option List. The data source for my tag won't work if I use a "filter". Strangely when in edit mode, if I resize the container it will work again. But I need the filter to make editing the value work correctly.

Hi @brian.luciano would you be open to sending me a DM with the app export per the instructions above (downloaded from the debug console)?

I don't see an option to send a DM? Can you show me where that is?

Hey @brian.luciano I just sent you a message that you can reply to