<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Auto Vertical scroll on a component</title><link>https://community.appian.com/discussions/f/user-interface/27945/auto-vertical-scroll-on-a-component</link><description>Hi - We are currently working on building a chatbot. As part of that we tried to mimic the traditional chat UI by leveraging Appian components. However, we are facing an issue displaying the latest message entered by the user on a card layout. A scroll</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Auto Vertical scroll on a component</title><link>https://community.appian.com/thread/123479?ContentTypeID=1</link><pubDate>Thu, 28 Dec 2023 14:24:28 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:0f453b75-9261-4740-920d-a7d4db1285f7</guid><dc:creator>Abinaya Venkatesan</dc:creator><description>&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;{
  a!localVariables(
    local!recordData: a!queryRecordType(
      recordType: &amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment&amp;#39;,
      filters: {
        a!queryFilter(
          field: &amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{7839be35-1eac-4fea-bcff-9f65422c281b}caseId&amp;#39;,
          operator: &amp;quot;=&amp;quot;,
          value: ri!caseId
        )
      },
      pagingInfo: a!pagingInfo(1, 1),
      fetchTotalCount: true
    ),
    local!totalCount: local!recordData.totalCount,
    local!batchSize: 4,
    local!startIndex: if(
      local!totalCount &amp;lt;= local!batchSize,
      1,
      local!totalCount - if(
        mod(local!totalCount, local!batchSize) = 0,
        local!batchSize,
        mod(local!totalCount, local!batchSize)
      ) + 1
    ),
    local!pagingInfo: a!pagingInfo(
      startIndex: local!startIndex,
      batchSize: local!batchSize
    ),
    local!record: a!queryRecordType(
      recordType: &amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment&amp;#39;,
      filters: {
        a!queryFilter(
          field: &amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{7839be35-1eac-4fea-bcff-9f65422c281b}caseId&amp;#39;,
          operator: &amp;quot;=&amp;quot;,
          value: ri!caseId
        )
      },
      pagingInfo: local!pagingInfo
    ),
    local!comments: local!record.data,
    local!caseOwner: a!queryRecordType(
    recordType: &amp;#39;recordType!{28dade06-19f7-4add-9a25-12b5a7c5c5a2}AHP Case&amp;#39;,
    filters: {
    a!queryFilter(
    field: &amp;#39;recordType!{28dade06-19f7-4add-9a25-12b5a7c5c5a2}AHP Case.fields.{37f7ef43-b1ae-4978-9c0c-5cd22284e7cf}id&amp;#39;,
    operator: &amp;quot;=&amp;quot;,
    value: ri!caseId
    )
    },
    pagingInfo: a!pagingInfo(startIndex: 1, batchSize: 1000)
    ).data[&amp;#39;recordType!{28dade06-19f7-4add-9a25-12b5a7c5c5a2}AHP Case.fields.{a2eae269-4b53-4a29-8e22-4d3087e084ef}caseOwner&amp;#39;],
    local!addNew: true(),
    local!newComment,
    {
      a!cardLayout(
        contents: a!sectionLayout(
          label: &amp;quot;Comments&amp;quot;,
          labelIcon: &amp;quot;comments&amp;quot;,
          divider: &amp;quot;ABOVE&amp;quot;,
          marginAbove: &amp;quot;STANDARD&amp;quot;,
          isCollapsible: true(),
          contents: a!columnsLayout(
            columns: {
              a!columnLayout(
                contents: {
                  rule!AHP_paginationSection(
                    pagingInfo: local!pagingInfo,
                    totalCount: local!totalCount
                  ),
                  a!cardLayout(
                    showBorder: false(),
                    showShadow: false(),
                    padding: &amp;quot;NONE&amp;quot;,
                    contents: {
                      /*Comments in conversation view*/
                      a!forEach(
                        items: local!comments,
                        expression: a!localVariables(
                          local!fullName: user(
                            username: fv!item[&amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{46704656-32a1-4ec6-b011-9c98222e9b3e}createdBy&amp;#39;],
                            property: &amp;quot;firstName&amp;quot;
                          ) &amp;amp; &amp;quot; &amp;quot; &amp;amp; user(
                            username: fv!item[&amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{46704656-32a1-4ec6-b011-9c98222e9b3e}createdBy&amp;#39;],
                            property: &amp;quot;lastName&amp;quot;
                          ),
                          local!showProfilePhoto: a!isNotNullOrEmpty(
                            getprofilepictureforuser(
                              fv!item[&amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{46704656-32a1-4ec6-b011-9c98222e9b3e}createdBy&amp;#39;]
                            )
                          ),
                          local!isLoggedInUser: loggedInUser() = fv!item[&amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{46704656-32a1-4ec6-b011-9c98222e9b3e}createdBy&amp;#39;],
                          local!isCaseOwner: local!caseOwner = fv!item[&amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{46704656-32a1-4ec6-b011-9c98222e9b3e}createdBy&amp;#39;],
                          {
                            a!columnsLayout(
                              columns: {
                                a!columnLayout(
                                  width: &amp;quot;EXTRA_NARROW&amp;quot;,
                                  showWhen: local!isLoggedInUser
                                ),
                                a!columnLayout(
                                  contents: {
                                    a!cardLayout(
                                      contents: {
                                        a!sectionLayout(
                                          contents: {
                                            a!sideBySideLayout(
                                              items: {
                                                /*a!sideBySideItem(showWhen: local!isLoggedInUser),*/
                                                a!sideBySideItem(
                                                  item: a!stampField(
                                                    labelPosition: &amp;quot;COLLAPSED&amp;quot;,
                                                    text: initials(local!fullName),
                                                    backgroundColor: &amp;quot;SECONDARY&amp;quot;,
                                                    size: &amp;quot;TINY&amp;quot;,
                                                    align: if(local!isLoggedInUser, &amp;quot;END&amp;quot;, &amp;quot;START&amp;quot;)
                                                  ),
                                                  width: &amp;quot;MINIMIZE&amp;quot;,
                                                  showWhen: not(local!showProfilePhoto)
                                                ),
                                                a!sideBySideItem(
                                                  item: a!imageField(
                                                    labelPosition: &amp;quot;COLLAPSED&amp;quot;,
                                                    images: a!userImage(
                                                      user: fv!item[&amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{46704656-32a1-4ec6-b011-9c98222e9b3e}createdBy&amp;#39;],
                                                      altText: local!fullName,
                                                      caption: local!fullName
                                                    ),
                                                    size: &amp;quot;TINY&amp;quot;,
                                                    style: &amp;quot;AVATAR&amp;quot;,
                                                    align: if(local!isLoggedInUser, &amp;quot;END&amp;quot;, &amp;quot;START&amp;quot;)
                                                  ),
                                                  width: &amp;quot;MINIMIZE&amp;quot;,
                                                  showWhen: local!showProfilePhoto
                                                ),
                                                a!sideBySideItem(
                                                  item: a!richTextDisplayField(
                                                    labelPosition: &amp;quot;COLLAPSED&amp;quot;,
                                                    value: {
                                                      a!richTextItem(
                                                        text: concat(
                                                          local!fullName,
                                                          if(
                                                            local!isCaseOwner,
                                                            &amp;quot; (Case Owner)&amp;quot;,
                                                            &amp;quot;&amp;quot;
                                                          )
                                                        ),
                                                        /*link: a!userRecordLink(),*/
                                                        linkStyle: &amp;quot;STANDALONE&amp;quot;,
                                                        style: &amp;quot;STRONG&amp;quot;,
                                                        /*color: &amp;quot;ACCENT&amp;quot;*/
                                                      ),
                                                      char(10),
                                                      a!richTextItem(
                                                        /*text: if(*/
                                                        /*tointeger(todatetime(now()) - fv!item[&amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{7e212791-306c-4327-8817-dbbe1e67e9ab}createdOn&amp;#39;]) &amp;lt; 1,*/
                                                        /*todatetime(todatetime(now()) - fv!item[&amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{7e212791-306c-4327-8817-dbbe1e67e9ab}createdOn&amp;#39;]),*/
                                                        /*fv!item[&amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{7e212791-306c-4327-8817-dbbe1e67e9ab}createdOn&amp;#39;]*/
                                                        /*),*/
                                                        text: fv!item[&amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{7e212791-306c-4327-8817-dbbe1e67e9ab}createdOn&amp;#39;],
                                                        /*color: &amp;quot;#ffffff&amp;quot;,*/
                                                        style: &amp;quot;EMPHASIS&amp;quot;
                                                      )
                                                    }
                                                  ),
                                                  width: &amp;quot;MINIMIZE&amp;quot;
                                                )
                                              },
                                              alignVertical: &amp;quot;MIDDLE&amp;quot;
                                            )
                                          }
                                        ),
                                        a!textField(
                                          labelPosition: &amp;quot;COLLAPSED&amp;quot;,
                                          value: fv!item[&amp;#39;recordType!{59505fbe-4a2d-41cf-b01c-b6b44dce0683}AHP Comment.fields.{17d45582-c2bb-4d6d-8e41-508da99fefae}comment&amp;#39;],
                                          readOnly: true,
                                          /*align: if(*/
                                          /*local!isLoggedInUser,*/
                                          /*&amp;quot;RIGHT&amp;quot;,*/
                                          /*&amp;quot;LEFT&amp;quot;*/
                                          /*)*/
                                        )
                                      },
                                      style: if(
                                        local!isLoggedInUser,
                                        &amp;quot;#3DA9BE&amp;quot;,
                                        &amp;quot;#1B478F&amp;quot;
                                      ),
                                      shape: &amp;quot;ROUNDED&amp;quot;,
                                      padding: &amp;quot;EVEN_LESS&amp;quot;,
                                      marginBelow: &amp;quot;STANDARD&amp;quot;,
                                      showShadow: true
                                    )
                                  }
                                ),
                                a!columnLayout(
                                  width: &amp;quot;EXTRA_NARROW&amp;quot;,
                                  showWhen: not(local!isLoggedInUser)
                                )
                              }
                            )
                          }
                        )
                      )
                    },
                    height: &amp;quot;AUTO&amp;quot;
                  ),
                  a!sideBySideLayout(
                    items: {
                      /*Comment Box*/
                      a!sideBySideItem(
                        item: a!textField(
                          placeholder: &amp;quot;Type your comment here...&amp;quot;,
                          value: local!newComment,
                          saveInto: local!newComment,
                          refreshAfter: &amp;quot;KEYPRESS&amp;quot;,
                          showWhen: local!addNew
                        )
                      ),
                      /*Save comment button*/
                      a!sideBySideItem(
                        item: a!richTextDisplayField(
                          value: {
                            a!richTextItem(
                              text: a!richTextIcon(icon: &amp;quot;paper-plane&amp;quot;),
                              link: if(
                                a!isNullOrEmpty(local!newComment),
                                {},
                                a!startProcessLink(
                                  label: &amp;quot;Save&amp;quot;,
                                  processModel: cons!AHP_PM_CREATE_COMMENT,
                                  processParameters: {
                                    comment: local!newComment,
                                    caseId: ri!caseId
                                  }
                                )
                              ),
                              linkStyle: &amp;quot;STANDALONE&amp;quot;,
                              size: &amp;quot;MEDIUM&amp;quot;,
                              style: &amp;quot;STRONG&amp;quot;
                            )
                          },
                          showWhen: local!addNew,
                          align: &amp;quot;RIGHT&amp;quot;
                        ),
                        width: &amp;quot;MINIMIZE&amp;quot;
                      )
                    },
                    alignVertical: &amp;quot;MIDDLE&amp;quot;
                  )
                }
              )
            }
          )
        ),
        shape: &amp;quot;ROUNDED&amp;quot;,
        marginBelow: &amp;quot;STANDARD&amp;quot;,
        showBorder: true(),
        showShadow: true(),
        style: &amp;quot;NONE&amp;quot;
      )
      
    }
  )
}

/* Pagination section code below */
a!sideBySideLayout(
  items: {
    a!sideBySideItem(),
    a!sideBySideItem(
      item: a!richTextDisplayField(
        labelPosition: &amp;quot;COLLAPSED&amp;quot;,
        value: {
          a!richTextIcon(
            icon: &amp;quot;angle-double-left&amp;quot;,
            link: a!dynamicLink(
              value: 1,
              saveInto: ri!pagingInfo.startIndex,
              showWhen: tointeger(ri!pagingInfo.startIndex) &amp;lt;&amp;gt; 1
            ),
            linkStyle: &amp;quot;STANDALONE&amp;quot;,
            color: if(
              tointeger(ri!pagingInfo.startIndex) = 1,
              &amp;quot;SECONDARY&amp;quot;,
              &amp;quot;ACCENT&amp;quot;
            ),
            size: &amp;quot;MEDIUM_PLUS&amp;quot;
          ),
          a!richTextIcon(
            icon: &amp;quot;angle-left&amp;quot;,
            link: a!dynamicLink(
              value: tointeger(ri!pagingInfo.startIndex) - tointeger(ri!pagingInfo.batchSize),
              saveInto: ri!pagingInfo.startIndex,
              showWhen: tointeger(ri!pagingInfo.startIndex) &amp;lt;&amp;gt; 1
            ),
            linkStyle: &amp;quot;STANDALONE&amp;quot;,
            color: if(
              tointeger(ri!pagingInfo.startIndex) = 1,
              &amp;quot;SECONDARY&amp;quot;,
              &amp;quot;ACCENT&amp;quot;
            ),
            size: &amp;quot;MEDIUM_PLUS&amp;quot;
          )
        },
        showWhen: or(ri!totalCount &amp;gt; 0),
        align: &amp;quot;RIGHT&amp;quot;
      ),
      width: &amp;quot;MINIMIZE&amp;quot;
    ),
    a!sideBySideItem(
      item: a!richTextDisplayField(
        labelPosition: &amp;quot;COLLAPSED&amp;quot;,
        value: {
          a!richTextItem(
            text: concat(
              ri!pagingInfo.startIndex,
              &amp;quot; - &amp;quot;,
              if(
                ri!pagingInfo.startIndex + ri!pagingInfo.batchSize &amp;gt; ri!totalCount,
                ri!totalCount,
                ri!pagingInfo.startIndex + ri!pagingInfo.batchSize - 1
              )
            ),
            style: &amp;quot;STRONG&amp;quot;
          ),
          a!richTextItem(text: concat(&amp;quot; of &amp;quot;, ri!totalCount)),

        },
        showWhen: or(ri!totalCount &amp;gt; 0),
        align: &amp;quot;RIGHT&amp;quot;
      ),
      width: &amp;quot;MINIMIZE&amp;quot;
    ),
    a!sideBySideItem(
      item: a!richTextDisplayField(
        labelPosition: &amp;quot;COLLAPSED&amp;quot;,
        value: {
          a!richTextIcon(
            icon: &amp;quot;angle-right&amp;quot;,
            link: a!dynamicLink(
              value: tointeger(ri!pagingInfo.startIndex) + tointeger(ri!pagingInfo.batchSize),
              saveInto: ri!pagingInfo.startIndex,
              showWhen: (
                tointeger(ri!pagingInfo.startIndex) + tointeger(ri!pagingInfo.batchSize)
              ) &amp;lt;= tointeger(ri!totalCount)
            ),
            linkStyle: &amp;quot;STANDALONE&amp;quot;,
            color: if(
              (
                tointeger(ri!pagingInfo.startIndex) + tointeger(ri!pagingInfo.batchSize)
              ) &amp;lt;= tointeger(ri!totalCount),
              &amp;quot;ACCENT&amp;quot;,
              &amp;quot;SECONDARY&amp;quot;
            ),
            size: &amp;quot;MEDIUM_PLUS&amp;quot;
          ),
          a!richTextIcon(
            icon: &amp;quot;angle-double-right&amp;quot;,
            link: a!dynamicLink(
              value: if(
                mod(
                  tointeger(ri!totalCount),
                  tointeger(ri!pagingInfo.batchSize)
                ) &amp;gt; 0,
                tointeger(ri!totalCount) - mod(
                  tointeger(ri!totalCount),
                  tointeger(ri!pagingInfo.batchSize)
                ) + 1,
                tointeger(ri!totalCount) - tointeger(ri!pagingInfo.batchSize) + 1
              ),
              saveInto: ri!pagingInfo.startIndex,
              showWhen: (
                tointeger(ri!pagingInfo.startIndex) + tointeger(ri!pagingInfo.batchSize)
              ) &amp;lt;= tointeger(ri!totalCount)
            ),
            linkStyle: &amp;quot;STANDALONE&amp;quot;,
            color: if(
              (
                tointeger(ri!pagingInfo.startIndex) + tointeger(ri!pagingInfo.batchSize)
              ) &amp;lt;= tointeger(ri!totalCount),
              &amp;quot;ACCENT&amp;quot;,
              &amp;quot;SECONDARY&amp;quot;
            ),
            size: &amp;quot;MEDIUM_PLUS&amp;quot;
          )
        },
        showWhen: or(ri!totalCount &amp;gt; 0),
        align: &amp;quot;RIGHT&amp;quot;
      ),
      width: &amp;quot;MINIMIZE&amp;quot;
    ),

  },
  alignVertical: &amp;quot;MIDDLE&amp;quot;,
  showWhen: and(
    or(ri!totalCount &amp;gt; 0),
    not(
      or(ri!totalCount &amp;lt;= ri!pagingInfo.batchSize)
    )
  ),
  spacing: &amp;quot;NONE&amp;quot;
)&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Auto Vertical scroll on a component</title><link>https://community.appian.com/thread/108989?ContentTypeID=1</link><pubDate>Wed, 08 Mar 2023 05:30:06 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:237cf0d7-fe74-4053-8565-b7bab6c14411</guid><dc:creator>Komal Jain</dc:creator><description>&lt;p&gt;Hi Riyaz,&lt;/p&gt;
&lt;p&gt;Could you please try this code . You may get some help . You can play around the UIs but lets see if this logic helps you&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is the URL to try it&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://tlpf.appianportals.com/chatapp"&gt;tlpf.appianportals.com/chatapp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;a!localVariables(&lt;br /&gt; local!data:{},&lt;br /&gt; local!msg,&lt;br /&gt; local!showAll:false(),&lt;br /&gt; a!formLayout(&lt;br /&gt; skipAutoFocus: false(),&lt;br /&gt; label: &amp;quot;Welcome&amp;quot;,&lt;br /&gt; contents: {&lt;br /&gt; a!buttonLayout(&lt;br /&gt; primaryButtons: a!buttonWidget(&lt;br /&gt; label: if(&lt;br /&gt; local!showAll=false(),&lt;br /&gt; &amp;quot;Show All&amp;quot;,&amp;quot;Latest&amp;quot;),&lt;br /&gt; value: if(&lt;br /&gt; local!showAll=false(),&lt;br /&gt; true(),false()),&lt;br /&gt; saveInto: local!showAll&lt;br /&gt; )&lt;br /&gt; ),&lt;br /&gt; if(&lt;br /&gt; local!showAll,&lt;br /&gt; a!forEach(&lt;br /&gt; items: local!data,&lt;br /&gt; expression: a!columnsLayout(&lt;br /&gt; columns: {&lt;br /&gt; a!columnLayout(&lt;br /&gt; contents: {&lt;br /&gt; a!textField(&lt;br /&gt; value: fv!item.msg,&lt;br /&gt; readOnly: true(),&lt;br /&gt; showWhen: if(&lt;br /&gt; loggedInUser()=fv!item.msgBy,&lt;br /&gt; true(),&lt;br /&gt; false()&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; },&lt;/p&gt;
&lt;p&gt;),&lt;br /&gt; a!columnLayout(&lt;br /&gt; contents: {&lt;br /&gt; a!textField(&lt;br /&gt; align: &amp;quot;RIGHT&amp;quot;,&lt;br /&gt; value: fv!item.msg,&lt;br /&gt; readOnly: true(),&lt;br /&gt; showWhen: if(&lt;br /&gt; loggedInUser()=fv!item.msgBy,&lt;br /&gt; false(),&lt;br /&gt; true()&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; }&lt;br /&gt; )&lt;br /&gt; }&lt;br /&gt; )&lt;br /&gt; ),&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; {a!forEach(&lt;br /&gt; items: reverse(todatasubset(reverse(local!data),a!pagingInfo(1,5)).data),&lt;br /&gt; expression: a!columnsLayout(&lt;br /&gt; columns: {&lt;br /&gt; a!columnLayout(&lt;br /&gt; contents: {&lt;br /&gt; a!textField(&lt;br /&gt; value: fv!item.msg,&lt;br /&gt; readOnly: true(),&lt;br /&gt; showWhen: if(&lt;br /&gt; loggedInUser()=fv!item.msgBy,&lt;br /&gt; true(),&lt;br /&gt; false()&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; },&lt;/p&gt;
&lt;p&gt;),&lt;br /&gt; a!columnLayout(&lt;br /&gt; contents: {&lt;br /&gt; a!textField(&lt;br /&gt; align: &amp;quot;RIGHT&amp;quot;,&lt;br /&gt; value: fv!item.msg,&lt;br /&gt; readOnly: true(),&lt;br /&gt; showWhen: if(&lt;br /&gt; loggedInUser()=fv!item.msgBy,&lt;br /&gt; false(),&lt;br /&gt; true()&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; }&lt;br /&gt; )&lt;br /&gt; }&lt;br /&gt; )&lt;br /&gt; ),&lt;br /&gt; a!textField(&lt;br /&gt; value: local!msg,&lt;br /&gt; saveInto: {&lt;br /&gt; local!msg,&lt;br /&gt; &lt;br /&gt; },&lt;br /&gt; &lt;br /&gt; ),&lt;br /&gt; a!buttonLayout(&lt;br /&gt; primaryButtons: {&lt;br /&gt; a!buttonWidget(&lt;br /&gt; label: &amp;quot;submit&amp;quot;,&lt;br /&gt; saveInto: {&lt;br /&gt; a!save(&lt;br /&gt; local!data,&lt;br /&gt; append(&lt;br /&gt; local!data,&lt;br /&gt; &amp;#39;type!{urn:com:appian:types:PD}PD_chatDetails&amp;#39;(&lt;br /&gt; id: count(local!data)+1&lt;br /&gt; ,&lt;br /&gt; msg: local!msg,&lt;br /&gt; msgBy: loggedInUser(),&lt;br /&gt; msgDate: now()&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; ),&lt;br /&gt; a!save(local!msg,null)},&lt;br /&gt; size: &amp;quot;SMALL&amp;quot;&lt;br /&gt; )&lt;br /&gt; }&lt;br /&gt; )})&lt;br /&gt; }&lt;br /&gt; )&lt;br /&gt;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Auto Vertical scroll on a component</title><link>https://community.appian.com/thread/108745?ContentTypeID=1</link><pubDate>Thu, 02 Mar 2023 13:43:22 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:9ecab82e-81d2-41bd-9438-21627aa5e783</guid><dc:creator>Riyaz Shaik</dc:creator><description>&lt;p&gt;Hi Aman - thanks for your response. Could you able to share the code snippet for reference?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Auto Vertical scroll on a component</title><link>https://community.appian.com/thread/108743?ContentTypeID=1</link><pubDate>Thu, 02 Mar 2023 13:41:55 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:2f191278-b392-4099-933d-5c4c14892e80</guid><dc:creator>Riyaz Shaik</dc:creator><description>&lt;p&gt;Hi Abhay - Good to hear from you. I’ll give a try. Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Auto Vertical scroll on a component</title><link>https://community.appian.com/thread/108707?ContentTypeID=1</link><pubDate>Thu, 02 Mar 2023 06:34:01 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:3e96cae1-7421-4a79-bbc4-3e10b3ecaaae</guid><dc:creator>Amaan Shekh</dc:creator><description>&lt;p&gt;I also tried to implement chat in appian and face the same issue , however i resolved it and brought recent messages on top , means new messages will come at top and older messages will get at bottom like stack data structure&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Auto Vertical scroll on a component</title><link>https://community.appian.com/thread/108697?ContentTypeID=1</link><pubDate>Thu, 02 Mar 2023 03:56:56 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:0e75845d-1607-4720-9336-0f9cf88b2b73</guid><dc:creator>Abhay Dalsaniya</dc:creator><description>&lt;p&gt;Hi &lt;a href="/members/riyazs0001"&gt;Riyaz Shaik&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Is it possible to share the code snippet to better understand the problem. Generally speaking, the card layout needs to be refreshed on each event(new message etc.), it can be achieved by using refreshVariable.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>