[Feedback] NEW Perspective Alarm Status Table

The new Perspective Alarm Status Table component is finally here. For the most part, it mirrors a lot of the behavior and functionality found in Vision, but there are a few new things that are worth mentioning.

You’ll find a lot of similarities between the Alarm Status Table and the Table component, and that’s no mistake, since it’s built upon the same foundation and reuses many of the same features introduced by the Table component.

Overview

The Alarm Status Table consists of two tabs, one for active alarms and the other for shelved alarms. The tab headers provide a count of the number of active alarms or shelved alarms, respectively. You can switch between the two tables by toggling the selected tabs.

Along side the tabs you have the settings and filtering buttons that when clicked will toggle visibility of the table settings or table filter for the active table respectively.

At the moment, the settings menu contains the available columns and their selected state, with the ability to show all columns. We have plans to add more options in the future, but we are not sure what those are yet.

Similar to the settings menu, the header context menu (activated by effectively right clicking on the column header) will show nearly identical options.

When alarms are selected, a footer will slide into view containing buttons for various actions that can be performed for the table in the current active tab. With the active alarms visible, you’ll have the ability to shelve or acknowledge alarms (if enabled via props). With the shelved alarms visible, you’ll have the ability to unshelve selected alarms. This footer will also display messages as feedback when performing an action on the selected alarms (i.e. success, failure, etc.).

Upon mouse-over, each row in the table representing an alarm will display a special action, or possibly a feedback message, on the far right of the row.

For active alarms, you have access to viewing the alarm details by clicking on the row action to the far right. This will prompt you with a popup modal containing details of the desired alarm (config properties, on active, etc.).

For shelved alarms, the row action will effectively unshelve the desired alarm, and provide a feedback message similar to the message displayed in the table foot when alarms are selected.

The sorting behavior is similar to the Table component, expect for the fact that sorting on alarm state and priority in the active table will sort in order of (in descending order):

  • alarm state - active unacknowledged, active acknowledged, clear unacknowledged, and clear acknowledged

  • alarm priority - critical, high, medium, low, and diagnostic.

For everything else, sort order should be alphanumerical.

Like the Table component, each column can be resized by using the invisible resize handles located in the far right of the column’s header cell.

Properties:

Shelving Times

These are the available shelving times in seconds that will populate the shelve alarms drop-up menu displayed as a result of clicking the shelve button in the active alarms tab.

Filters

active:

  • text - the filter text which behaves in similar fashion to the filter text of the Table component. It is both read and written too, depending on whether the source of the update is external (via props) or internal (via filter edit).

  • states - these are ‘pre-filters’ in a sense that when toggled either externally (via props) or internally (via the dropdown to the left of the filter box) will pre-filter the visible rows depending on the selected states.

  • conditions - these are ‘pre-conditions’ which are used to query alarms on the Gateway side before sending results down to the client. They behave similar to the ‘filters’ prop in the Vision Alarm Status Table.

  • results - similar to the Table component, where results from filter queries are written to, if enabled. If enabled, can cause a performance decline if used to filter a large number of alarms. We suggest doing the bulk of the filtering via the Gateway before enabling this.

shelved:

  • text - see active.

  • results - see active.

Enable Header

Toggles the visibility of the header can be toggled using this property.

Enable Acknowledge

Toggles the visibility of the acknowledge button in the active alarms footer when alarms are selected.

Enable Shelve

Toggles the visibility of the shelve button in the active alarms footer when alarms are selected.

Enable Unshelve

Toggles the visibility of the unshelved button in the shelved alarms footer when alarms are selected.

Row Styles

Currently only applies styles to rows of the active alarms tab based upon the alarm state and varying priorities. For all alarm states (active unacked, active acked, clear unacked, and clear acked), the shape is the same.

  • base - a base style to apply to rows with the designated alarm state.

  • priorities - styles applied on top of the base styles of the designated alarm state by varying priorities.

Date Format

A format string which is applied against the content of date oriented columns such as active time, clear time, ack time, and expiration.

Columns

Lists the available columns of both the active and shelved alarms tables. Each column configuration contains the properties:

  • enabled - toggles the visibility of the column, is both read from and written to via the header context menu and the settings menu.

  • width - the width of the column which is a number representing the weight of the column in terms of amount of available space respective to its sibling columns. This is essentially the CSS ‘flex-grow’ property of the column.

  • strictWidth - when enabled, sets the width of the column to a fixed or static width as specified by the width prop.

  • sort - the default sort of the column upon initial mount.

That should cover most of everything. Of course, we will continue to make incremental improvements to the Alarm Status Table based upon fixes and features reported by you. If you have any suggestions or questions, please don’t hesitate to state them below.

Thanks!

6 Likes

I am not seeing the ability to filter by minimum priority in the props like is available in the Vision Alarm Status table. If I’m just not seeing it please let me know.

Actually what would be even better is if in the “filters” prop, just like the “states” filter, I could choose to enable which priorities I want to display with check boxes.

2 Likes

Hi,

Sounds like a good idea. We’ll probably need to reorganize the UI to include those along with the states. I’ll put in a request. In the meantime you’ll have to use a text search as a workaround.

Thanks!

-Yousuf

Looks really good; can the columns be reordered? They keep snapping back to defaults if I try to reorder them in the JSON object.

Hi,

No, not yet. But we have an open ticket to implement this for both table components.

-Yousuf

2 Likes

Hi,

I have couple of request’s for features:

  • Custom names for the column headers
  • Ability to add alarms custom data to columns
  • Ability to toggle on/off following:
    • Shelved Tab
    • Users ability to select which columns to show in runtime
  • Ability to filter shelved alarms according to displaypath
    • This should take the same ‘wildcards’ as the normal displaypaht filter (" /* ")

Hi,

  • Custom names for the column headers

Why would you want to change the names of the column headers? Doesn't seem like a typical use case, but I could be wrong.

  • Ability to add alarms custom data to columns

By custom data, you mean the associated alarm data?

  • Ability to toggle on/off following:
    • Shelved Tab

Definitely. Active too.

    • Users ability to select which columns to show in runtime

You can already do this via the settings icon and via the header context menu (right click). Is that not what you mean? FYI - we just discovered that the header context menu broke, so we are working on fix for that immediately.

  • Ability to filter shelved alarms according to displaypath
    • This should take the same ‘wildcards’ as the normal displaypaht filter (" /* ")

I think we can make that happen. I'll add it to the list.

Thanks!

-Yousuf

Dear Ynejati
Can you tell me how to integrate the alarm table into perspective? I can not find the tool in the palette. Only the table. but I do not find in perspective how to link the information.
Best regards.
*It is possible to Acknowledge the alarms?

Hi Oscar,

It’s only available in the 8.0.3 nightlies at the moment, so that’s probably why you are not seeing it. Yes, you can acknowledge alarms.

-Yousuf

Hi,

Yeah this is true. I just need to get the translations to work..

Yeah that's what I mean.

I mean that you could disable this this settings icon so that user could not make changes to the colums in runtime

Hi,

I thought that might be the reason why you needed to change the columns headers. The table components are more complex than our other components, so they were not included in the translation work we did a couple weeks ago. I did, however, make a note to address this in the very near future. Hopefully that will solve your problem.

Okay, I’ll see what we can do about adding the associated alarm data. I don’t think you’re the first person to ask about this.

You’re right. You should be able to disable the settings icon and the header context menu, along with various other internal elements. We have plans to do this in the near future. We wanted to get the alarm status table out as soon as possible, so it wasn’t a high priority at the time. Nonetheless, we’ll make it happen.

-Yousuf

1 Like

I have two alarm status tables in my project. The first I have created a displayPath filter to capture all alarms with MNT in the display path (maintenance alarms). In the second table, I want everything except the maintenance alarms but I cannot get an expression to work on the binding of the displayPath filter. Can you provide a suggestion please?

Hi,

Couple of bugs on the component:

  1. The “Alarm details”-popup is empty (old news maby?)
  2. I have alarm set to “Ack Notes Required”: TRUE, but the component still allows the alarm to be acknowledged and does not ask for any note input

Is your session disconnected from the Gateway by chance? -Yousuf

This is the config that I have to show only the Maintenance Alarms. This works fine.

I’m looking to put something in the source filter on my other table to exclude all of the Maintenance Alarms. I tried !=MNT directly in the source location with no luck. I tried to create an expression binding of !=“MNT” and it will not evaluate properly. I tried a few other flavors but it either doesn’t work or I don’t have the correct syntax or I need a transform or…

Thanks!

No. The connection is valid.
The tags are located in a remotegateway (that is also running ignition V8).
On the Tag-Remote provider Alarms are set “enebaled” and Mode is “Queried”.
I don’t know if this has something to do with the “acknowledge”-function or the alarm-details.

Hi,

No, sadly, we don’t currently have a way of doing this. It would make a great feature, so I’ve created a ticket. Without extension functions, there’s no other way to do this.

-Yousuf

Thanks for the info. I’m looking into this now and will get back to you. -Yousuf