Custom Component Render

  • 1
  • Question
  • Updated 2 years ago
  • Answered
Hi All,
I have a custom component to send emails with templates that can span a couple different objects. I used this first on Opportunities and created an attachment system that can pull in attachments spanning three separate custom attachment objects and this works perfectly. I went to add Quotes in as the main object to send the email and it seems to function properly but the problem is that when I render the component for the first time in a popup the attachment table file names do not show up. If I close the popup and reopen it, the names render in the table. Im trying to figure out if there is a bug somewhere in the element.render() function as this works perfectly for Opportunities. I have verified in the data that I have the attachment name inside the console and using the skuid.model.map(). Does anyone have a suggestion or an idea on how I can further debug this?
Photo of John Pernock

John Pernock

  • 180 Points 100 badge 2x thumb

Posted 2 years ago

  • 1
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,076 Points 10k badge 2x thumb
Hey John - When the popup opens the first time (when the attachment filenames don't appear), if you move the popup around on the screen, do they appear after its moved?  What if you minimize/maximize the browser window?  Or if you change the width of the browser window (increase or decrease)?
Photo of John Pernock

John Pernock

  • 180 Points 100 badge 2x thumb
Barry, also thought I would let you know that I added this component to utilize a third object and added it to the relevant skuid screen and I had no issues with the file names not appearing. I'm thinking it is related to the Quote Detail page that we are using.
Photo of John Pernock

John Pernock

  • 180 Points 100 badge 2x thumb
Hi Barry,
    Unfortunately that does not have any effect on the name rendering. The only time it will render is if you close the popup and reopen it. This cycle gets reset if you refresh the page. 
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,076 Points 10k badge 2x thumb
Hey John -

Ok, the reason I asked is that I've seen situations were display elements don't "paint/draw" properly on the screen initially.  In those cases, there's a little trick that you can apply but given moving the screen around doesn't resolve your issue on the first display it's unlikely to solve the problem.

Next set of questions:

1) Is the custom component coming from a static resource or inline component on the actual skuid page?
2) On that page, are there any other custom components used or just the one that is on the popup?
3) Are there any errors/output in the console?
Photo of John Pernock

John Pernock

  • 180 Points 100 badge 2x thumb
Barry, we surprisingly figured it out this morning. We were not loading two of the models to get the meta data without the query. I mistakenly assumed that the models would get the meta data when I added rows and this was the issue. I ran into another issue however but I will post separately about it. I appreciate all of your help.
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,076 Points 10k badge 2x thumb
Hi John -

Glad you got it sorted.  Not sure of the specifics in your scenario but model metadata should be loaded even if a query hasn't been issued.  Possibly there is some meta data that is only loaded after a query - which meta data were you not seeing until after a query?