DP19 Advanced App Building


Hello, I'm starting to explore DP19's advanced app courses and trainings.

In my testing app, I've made some changes to the original code shown by Jason Hodges, and I have some questions


1. For the attachment, how can I make it to open in a new window instead of downloading every time?

I have this:


























As you can see, I already set my code with the target=_blank parameter, but it keeps downloading the attachment.


This is the source code for that highlighted part


function renderPosts(data){
var postList= '';
data.forEach(post => {
domo.get('/domo/users/v1/' + domo.env.userId + '?includeDetails=true').then(function(me){

getUserAvatar(post.content.user).then(avatarURL => {
postList +=
`<li class="list-group-item">
<div class="inline">
<img src="${avatarURL}" height=50/>
<span class="badge badge-primary">${ByWho}</span>
<div class="attachmentWrapper">
<a href="${post.content.attachmentURL}" target="_blank">
<span class="badge badge-secondary">${post.content.attachmentName}</span>
posts.innerHTML = postList;


2. The post rendered each time there is a new entry, it orders itself from first to last, how can I make it to display the last post at the top?


3. Is it possible that, if I need to add/remove columns to my collection, I don't have to republish my app with a new ID, so that it can update itself just by adding/removing the columns?


Thanks in advance for the help.




  • Jarvis
    Jarvis Domo Employee



    Have you tried using domo.navigate rather than an href? You can find some more information on the DomoJS functions here: https://developer.domo.com/docs/dev-studio-references/domo-js 


    Regarding sorting the returned results, the easiest way would probably be to store them as an array rather than as a long string, then you can sort the array with built in JS methods like array sort(). 


    You can run domo publish with the same ID, and it will udpate with the new data.

  • MartinB

    1) domo.navigate is a function only for the Domo CLI, so I guess I'll have to declare it in a js file, then pass the parameter for the attachment (?????)


    2) I sorted out that issue by querying the results instead of displaying the long string


    3) Gonna have to be watching that behavior, so far I've only re published with different app ID to get the changes I need.



This discussion has been closed.