# Alarm Journal Table / Alarm Status Table - Loading Time

**URL:** <https://forum.inductiveautomation.com/t/alarm-journal-table-alarm-status-table-loading-time/100140>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [December 22, 2024, 4:42pm UTC](https://forum.inductiveautomation.com/t/alarm-journal-table-alarm-status-table-loading-time/100140 "2024-12-22T16:42:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Youssef\_Yasser](https://avatars.discourse-cdn.com/v4/letter/y/4bbf92/32.png) [@Youssef\_Yasser](https://forum.inductiveautomation.com/u/Youssef_Yasser)\
**Post date:** [December 22, 2024, 4:42pm UTC](https://forum.inductiveautomation.com/t/alarm-journal-table-alarm-status-table-loading-time/100140/1 "2024-12-22T16:42:47Z")

</div>

I want to detect when the alarm journal table or the alarm status table is currently loading the data in order to display a popup instead of the font written on it indicating that no records are found.

Thanks in advance,

---

<div class="post-metadata">

**Author:** ![aspatchek2013](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/aspatchek2013/32/85339_2.png) [@aspatchek2013](https://forum.inductiveautomation.com/u/aspatchek2013)\
**Post date:** [December 23, 2024, 10:17pm UTC](https://forum.inductiveautomation.com/t/alarm-journal-table-alarm-status-table-loading-time/100140/2 "2024-12-23T22:17:38Z")

</div>

The Alarm Status and Alarm Journal components are relatively closed systems. You can always [build your own](https://forum.inductiveautomation.com/t/how-to-make-it-so-operators-can-only-shelve-alarms-once/96058/2), but for your scenario, that likely has little ROI.

The only access that I can see into knowing when the table is loading data is via the extension functions. However, the purpose here is to allow you to add a custom alarm filter. It runs for every row in the table, not once per dataset.

 ![AlarmStatusTableExtensionFunctions](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/2/e24b71985a534a0283f19f6b2283ef4f2c008c6e.png)

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [June 9, 2025, 10:16am UTC](https://forum.inductiveautomation.com/t/alarm-journal-table-alarm-status-table-loading-time/100140/3 "2025-06-09T10:16:55Z")

</div>

For **Alarm Journal Table** , a workaround to manage loading time can be:

On alarm Journal table component:

- add a custom prop filterAlarmCounter and filterAlarmCounterPrev

- in FilterAlarm extension fonction add filterAlarmCounter = filterAlarmCounter +1

- add a custom prop startLoading with an expression structure with all change triggering alarm journal table update. Launch your progress indicator

- add a custom prop with an expression binding to detect the end of loading:

- filterAlarmCount

- filterAlarmCountPrev

- filterInProgress

```python
now(1000)

if (self.custom.filerAlarmCount != self.custom.filerAlarmCountPrev):
	self.custom.filerAlarmCountPrev = self.custom.filerAlarmCount
	return True
else:
	self.custom.filerAlarmCountPrev = 0
	self.custom.filerAlarmCount = 0
	return False

```

tag changed script:

```python
if previousValue.value and (currentValue.value == False):
      stop progress indicator

```

- startProgress

```python
start progress indicator
nb = query alarm Journal with the filter, priority, etc parameters
if nb == 0:
	stop progress indicator
else:
       message with nb to alarm event filtering...

```

**Note:** you have to check the query return data and pass them to filterAlarm extension function.  
If your query doesn't return data, so filterAlarm is not called and you need to stop progress indicator.

⚠ Don't use session.custom.prop in filterAlarm extension function, only component's custom property. This results in a substantial degradation in performance.

**filter.result.data** could be use too to detect the end of loading, but it doesn't works if 2 consecutive request return the same data, or no data...
