# Basics (again) - Accumulated list

**URL:** https://community.glideapps.com/t/basics-again-accumulated-list/39152
**Category:** Ask for Help
**Created:** [March 2, 2022, 5:25pm UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152 "2022-03-02T17:25:49Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Test\_Test](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/test_test/32/30930_2.png) [@Test\_Test](https://community.glideapps.com/u/Test_Test)
#### Post date: [March 2, 2022, 5:25pm UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/1 "2022-03-02T17:25:49Z")

</div>

Hi all,  
Taking you back to basics again.  
We have a custom form that updates client details. For each submitted form, we’d like to have a list of what elements were changed. How would you go about this?  
I couldn’t solve this, so I started with an inefficient solution that turned to a bust.

1. For each column that points to a change, I added an ITE column. ITE results in a description of the change if changed column is not empty.
2. A template is used to join all ITE columns  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/a/e/aef58ee485f21f4e4604087bb4af6b48640617db.png)

And…bust 😢

How do I clean up this template column?  
Because we don’t always update all client details, the template will almost always contain too many white spaces. Sure, The summary can be trimmed, and any double whitespace can be replaced with nothing. This doesn’t provide a coherent summary of changes. It would be great to add commas between ITE values, at the very least.  
In the template column, I also thought about replacing the whitespace with a placeholder, such as “XXX”, but I again couldn’t bring it to be clean enough.

Any ideas?  
Back to my first sentence, I know it’s a very basic question and I’m sure the answer will be mind-blowingly simple 🙂

Thanks

---

<div class="post-metadata">

### Author: ![Eric\_Penn](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eric_penn/32/73888_2.png) [@Eric\_Penn](https://community.glideapps.com/u/Eric_Penn)
#### Post date: [March 2, 2022, 8:34pm UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/2 "2022-03-02T20:34:05Z")

</div>

> [@Test\_Test](#):
>
> This doesn’t provide a coherent summary of changes. It would be great to add commas between ITE values, at the very least.

0,1,2,3,4,5…

---

<div class="post-metadata">

### Author: ![Test\_Test](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/test_test/32/30930_2.png) [@Test\_Test](https://community.glideapps.com/u/Test_Test)
#### Post date: [March 2, 2022, 9:26pm UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/3 "2022-03-02T21:26:43Z")

</div>

Yeah, funny 🙂  
Now change 0/1/3/5 to nothing and what are we left with?  
The issue here is that we cannot expect which detail will be changed, hence the need for this summary column

---

<div class="post-metadata">

### Author: ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)
#### Post date: [March 2, 2022, 11:00pm UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/4 "2022-03-02T23:00:02Z")

</div>

I’m having trouble visualizing this.

Can you show what your IF columns look like?  
How are you determining a change in value?  
Does the form update an existing row, or add a new row?  
Can you show an example of what the template result should look like if it worked the way you want it to?

---

<div class="post-metadata">

### Author: ![Test\_Test](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/test_test/32/30930_2.png) [@Test\_Test](https://community.glideapps.com/u/Test_Test)
#### Post date: [March 3, 2022, 7:19am UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/5 "2022-03-03T07:19:32Z")

</div>

> [@Jeff\_Hager](#):
>
> Can you show what your IF columns look like?

![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/a/2/a2aa0712d0660fc9060ba8a3aa1626bb95c0c586.png)

> [@Jeff\_Hager](#):
>
> Does the form update an existing row, or add a new row?

existing.  
The form is sitting in a standalone Glide table, all USC. That table is bridged to the main client table. It’s basically overwriting the values in the clients table, after checking if there was indeed a change in each value.  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/2/9/29f0e69bb46086666fcc2b3073058e7b9f305a2d.png)

![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/3/e/3e1f585b8fef1de54a76de1e7e0b7a321ff5eb36.png)

> [@Jeff\_Hager](#):
>
> Can you show an example of what the template result should look like if it worked the way you want it to?

Assuming the users updated the following:

1. First name
2. Phone number
3. Address

The summary should be:  
“First name, Phone number, Address”.

BTW - I have thougut about changing the summary template to one line per potential change, but I’m not sure if that would help. Something like this:  
0  
1  
2  
3  
4  
Instead of what I now have which is 0 1 2 3 4

Thanks

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [March 3, 2022, 8:20am UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/6 "2022-03-03T08:20:09Z")

</div>

> [@Test\_Test](#):
>
> How do I clean up this template column?

- Change the template so that it produces a comma separated (joined) list
- Then do a split text on the template (this will ignore any empty values)
- Then finally, create a joined list column from the previous split text column

 ![Screen Shot 2022-03-03 at 4.18.07 PM](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/e/6/e6e1f6bb36864afc5771b4d68ab38eb2726e1d7e.png)

---

<div class="post-metadata">

### Author: ![Test\_Test](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/test_test/32/30930_2.png) [@Test\_Test](https://community.glideapps.com/u/Test_Test)
#### Post date: [March 3, 2022, 8:35am UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/7 "2022-03-03T08:35:46Z")

</div>

Thanks, you rock (again) 🤘

> [@Darren\_Murphy](#):
>
> this will ignore any empty values

The secret ingredient 🪄  
Is this a documented feature/behavior?

---

<div class="post-metadata">

### Author: ![Test\_Test](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/test_test/32/30930_2.png) [@Test\_Test](https://community.glideapps.com/u/Test_Test)
#### Post date: [March 3, 2022, 9:01am UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/8 "2022-03-03T09:01:46Z")

</div>

If it’s OK with you, I’d like to just to the next step of this same use case: how to display the “change report” to the user.  
The custom form is adding a row to a table serving as a “Change log”. I’m using a “list relation” component inside the client details screen. Clicking on this will lead us to a cards view of the changes made to that client. Now, clicking on any of these cards will take us to a new screen with the details of such a change. The issue I have now is how to show changes side-by-side, and show only the changes. i.e. - no need to show values that haven’t changed. This log table has both the updated values and the previous values. What I did now is have two “action text” for each value: previous and updated. These are visible only if the “updated” is not empty.  
Needless to say, this looks bad.  
I would love to have this with an inline list, but how do I refer the inline list to a single row? I’ve found this great post by @Jeff_Hager , but it seems like an overkill…

> [@Show Entire Row Data in an Inline List](https://community.glideapps.com/t/show-entire-row-data-in-an-inline-list/24985/8):
>
> OK, so you do in fact want to join all the columns together into one list item. That’s what I needed clarification on. Your details view is only attached to a single row, so yes, a basic table is only going to show data from a single row. The short answer is that what you want isn’t natively possible with glide. Something like this would probably take some experimentation, but I think it may be possible with an inline list combined with a template column that joins all columns together, and …

The other component I would be happy to use is a basic but here I have two challenges: 1. Need a 3rd column (Name of change, previous, updated). 2. It will show a line even if updated value is empty.

> [@Darren\_Murphy](#):
>
> ![Screen Shot 2022-03-03 at 4.18.07 PM](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/e/6/e6e1f6bb36864afc5771b4d68ab38eb2726e1d7e.png)

Based on your visual example here, here’s a quick visual example from MS-Word. This is how the user should see it.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/2/622bed671c798fc3a6f37dcb1076d0de5745b4d0.png)

Ideas? Magic tricks?

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [March 3, 2022, 9:06am UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/9 "2022-03-03T09:06:31Z")

</div>

I’d probably create a HTML table with each of your 3 columns and display that in a rich text component.

If you can give me a sample app with an example of what you currently have, I can probably show you how to generate that table.

---

<div class="post-metadata">

### Author: ![Test\_Test](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/test_test/32/30930_2.png) [@Test\_Test](https://community.glideapps.com/u/Test_Test)
#### Post date: [March 3, 2022, 9:12am UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/10 "2022-03-03T09:12:04Z")

</div>

> [@Darren\_Murphy](#):
>
> sample app with an example of what you currently have

Sure, I’ve added a table called “ClientDetailsChangeLog” to [my dummy app](https://zealous-industry-4102.glideapp.io/).

Thanks friend!

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [March 3, 2022, 9:49am UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/11 "2022-03-03T09:49:55Z")

</div>

I’m a bit busy with my day job at the moment, but I’ll find some time to take a look at this later this evening.

---

<div class="post-metadata">

### Author: ![Test\_Test](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/test_test/32/30930_2.png) [@Test\_Test](https://community.glideapps.com/u/Test_Test)
#### Post date: [March 3, 2022, 10:32am UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/12 "2022-03-03T10:32:05Z")

</div>

> [@Darren\_Murphy](#):
>
> m a bit busy with my day job at the moment

![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/3/d/3d0910f57e0f7a5187f18b4b144683853e23ebe9.gif)

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [March 3, 2022, 1:15pm UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/13 "2022-03-03T13:15:22Z")

</div>

> [@Test\_Test](#):
>
> Sure, I’ve added a table called “ClientDetailsChangeLog” to [my dummy app](https://zealous-industry-4102.glideapp.io/).

 ![Screen Shot 2022-03-03 at 9.10.09 PM](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/1/d/1d33ed25e72bf8374ec5c2396b81ab8c18a926d4.png)

erm, that doesn’t look like it’s going to scale very well to me.  
Let me think about this a bit more. Assuming that you’re okay with a HTML table, then I think the best approach would be to build the rows for that table at the time the change is made, and write them as a template to a single column.

So in effect, your Change Log table would end up with just a handful of columns:

- Change Date
- Who made the change
- Change Details

That last column would contain the HTML table definition for all columns that were changed.

---

<div class="post-metadata">

### Author: ![Test\_Test](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/test_test/32/30930_2.png) [@Test\_Test](https://community.glideapps.com/u/Test_Test)
#### Post date: [March 3, 2022, 1:51pm UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/14 "2022-03-03T13:51:30Z")

</div>

While I’m not sure I understand your proposal in full, it does sound as way to complicated for a simple visual aid.  
If was thinking earlier about the Array options in Glide, but these seem to be complicated as well. By “complicated” I’m not referring to the setup process (although it could be easier), I’m referring to the day-to-day operations later on and the chances for something going wrong when you have to jump through so many hoops to reach such a simple view.  
Another option I was thinking about is JS, but again, too much hassle.  
My primitive solution of a double action item per each value is much more stable I think. But it looks like a piece of software from an era long forgotten 😆

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [March 3, 2022, 2:09pm UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/15 "2022-03-03T14:09:44Z")

</div>

> [@Test\_Test](#):
>
> While I’m not sure I understand your proposal in full, it does sound as way to complicated for a simple visual aid.

Be patient. I’ve started making a sample app for you. I’ll try and finish it off before I go to bed tonight.

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [March 3, 2022, 4:29pm UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/16 "2022-03-03T16:29:06Z")

</div>

@Test_Test here you go…

> **[Change Log Demo · Glide - 4 March 2022](https://www.loom.com/share/3f43832fde50443d868eb597e6d3e203)**

Copyable Demo App

> **[Change Log Demo](https://raspy-carriage-2545.glideapp.io/)**

---

<div class="post-metadata">

### Author: ![Test\_Test](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/test_test/32/30930_2.png) [@Test\_Test](https://community.glideapps.com/u/Test_Test)
#### Post date: [March 3, 2022, 5:39pm UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/17 "2022-03-03T17:39:45Z")

</div>

> [@Darren\_Murphy](#):
>
> @Test_Test here you go…
> 
> [Loom | Free Screen & Video Recording Software | Loom](https://www.loom.com/share/3f43832fde50443d868eb597e6d3e203)

Once again, as always, WOW times a gazillion 🤯

> [@Darren\_Murphy](#):
>
> Copyable Demo App
> 
> [https://raspy-carriage-2545.glideapp.io/](https://raspy-carriage-2545.glideapp.io/)

Sorry to sound ungrateful, but it’s not copyable…

---

<div class="post-metadata">

### Author: ![Test\_Test](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/test_test/32/30930_2.png) [@Test\_Test](https://community.glideapps.com/u/Test_Test)
#### Post date: [March 3, 2022, 9:36pm UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/18 "2022-03-03T21:36:14Z")

</div>

Paying it forward, here’s a quick recap of the columns that are used to construct the HTML table. Hope it’ll be useful for someone down the line. Note that my text Is aligned RTL.

Table top:

```auto
<table align="center" border="10" cellpadding="1" cellspacing="1" dir="rtl" class="ChangeLog">
	<thead>
		<tr>
			<th scope="col">VALUE</th>
			<th scope="col">BEFORE</th>
			<th scope="col">AFTER</th>
		</tr>
	</thead>
	<tbody>

```

![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/9/2/9235eaec031dc33ca968b1a043c170109934c27b.png)

The heart of the table, the rows:

```auto
<tr>
			<td>VALUE</td>
			<td>BEFORE</td>
			<td>AFTER</td>
		</tr>

```

![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/2/0/20c3895cb64d91cf2e11ab1ddc01a3a992322108.png)

The bottom:

```auto
</tbody>
</table>
<p>&nbsp;</p>

<style>
table.ChangeLog {
  border: 1px solid #1C6EA4;
  background-color: #ECEAF1;
  width:70%; 
  margin-left:15%; 
  margin-right:15%;
  text-align: center;
  border-collapse: collapse;
}
table.ChangeLog td, table.ChangeLog th {
  border: 1px solid #AAAAAA;
  padding: 3px 2px;
}
table.ChangeLog tbody td {
  font-size: 18px;
}
table.ChangeLog tr:nth-child(even) {
  background: #F3F3F3;
}
table.ChangeLog thead {
  background: #351C75;
  border-bottom: 2px solid #444444;
}
table.ChangeLog thead th {
  font-size: 20px;
  font-weight: bold;
  color: #FFFFFF;
  text-align: center;
  border-left: 2px solid #D0E4F5;
}
table.ChangeLog thead th:first-child {
  border-left: none;
}

table.ChangeLog tfoot td {
  font-size: 14px;
text-align: center;
}
table.ChangeLog tfoot .links {
  text-align: center;
}
table.ChangeLog tfoot .links a{
  display: inline-block;
  background: #1C6EA4;
  color: #FFFFFF;
  padding: 2px 8px;
  border-radius: 5px;
}
</style>

```

We than consolidate all rows:  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/d/7/d738f79ba2efeeb57458c7e0bf02770d61ede2e0.png)

And last, merging the three parts:  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/c/7/c73f7394c7595c602d14248da04567fd6f5c048f.png)

Thanks and see you on the next topic!

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [March 4, 2022, 12:58am UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/19 "2022-03-04T00:58:00Z")

</div>

> [@Test\_Test](#):
>
> Sorry to sound ungrateful, but it’s not copyable…

whoops, sorry about that.  
It’s copyable now.

---

<div class="post-metadata">

### Author: ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/system/32/53398_2.png) [@system](https://community.glideapps.com/u/system)
#### Post date: [March 5, 2022, 12:58am UTC](https://community.glideapps.com/t/basics-again-accumulated-list/39152/20 "2022-03-05T00:58:19Z")

</div>

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.
