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.
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.
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.
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.
text - see active.
results - see active.
Toggles the visibility of the header can be toggled using this property.
Toggles the visibility of the acknowledge button in the active alarms footer when alarms are selected.
Toggles the visibility of the shelve button in the active alarms footer when alarms are selected.
Toggles the visibility of the unshelved button in the shelved alarms footer when alarms are selected.
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.
A format string which is applied against the content of date oriented columns such as active time, clear time, ack time, and expiration.
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.