Question on Multi Object (Wrapper) Data into A SINGLE Skuid Table with Filters

  • 1
  • Question
  • Updated 3 years ago
Hi,

Here is what I am trying to implement :
I need to bring multiple object data into a single table called catalogue.

I have a wrapper class which will give the data I need to show as a catalogue in a table.
I am calling my controller method to get the list of entries from wrapper, from inline JS snippet and got JSON and able to display rows in Skuid table.

now, how do I set filters on this data rows (which are being created dynamically from JavaScript on page load)


Any ideas on how to make the filters work on this dynamic rows in the table ?
Photo of KVin

KVin

  • 1,158 Points 1k badge 2x thumb

Posted 3 years ago

  • 1
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
Filters are designed to adjust the SOQL being executed through a VF Remoting call - so I'm pretty sure they are not going to be useful at all in your scenario. 

What you might be able to do is write a snippet that passes a field value into your controller as a filtering parameter.  Then put that field on your page (such that it gets the appropriate values - either picklist entries or reference values).  Then either put a button on the page that calls your new snippet,  or add a model action that calls the snippet when the field is updated. 

I'd love to see more detail about what you are doing in the "combined object" class and the inline JS used to get the JSON.  The topic of combined object tables has been frequently heard in these parts. 
Photo of Zach McElrath

Zach McElrath, Employee

  • 49,056 Points 20k badge 2x thumb
One interesting approach that is possible using REST Models is to query a Salesforce REST API Endpoint which outputs this wrapper data --- you can then display this data in a table and filter it using Skuid Filters and REST Model query string parameters. This approach would work for any sort of multi-object / cross-object mashup/aggregation. Since, I'm assuming, you've already got your Apex wrapper class created and an Apex method to return a list of these wrappers, adapting this into a REST API GET request should be straightforward, and then it will be easy to pull this into a Skuid Model.
Photo of KVin

KVin

  • 1,158 Points 1k badge 2x thumb
Thanks Zach for your response!

Here is what actually expected to develop:

1. Data Source we have is the Wrapper Class to return needed Data
        -- The wrapper takes only SINGLE argument = region (country from the Logged-In User) and returns the list of wrappers (offered Products for that country)

2. User Never going to Make changes to the list being displayed in this table but should be able to select an entry from table and click on order details button to move to the STEP-2 in this wizard

A. The question is if I expose this controller as REST Resource, what URL should I provide in skuid to make REST model?

B. And actually we need 3-filters (Country, Segment,OfferType)
        -- not sure how to make these filters work in this REST model scenario for these three

Can you guide how do I proceed ?