AnsweredAssumed Answered

displayProvider.selectAll(); and displayProvider.getRuntimeDataArray(), is there a better way?

Question asked by I.Berry on Nov 15, 2017
Latest reply on Nov 15, 2017 by I.Berry

Hi,

 

We have a requirement to play an audible alarm while there are unacknowledged alarms in the event table.  The way I have accomplished this comes with certain side effects, so I am hoping there is a better way to go and check out the dataset that is in the event table for unacknowledged alarms....

 

This is the way I am getting the event frames from the page:

function dataUpdate(data) {
            displayProvider.selectAll(); //<--- this causes all the elements on the page to be selected, huge pain especially when editing.
            var dataArray = displayProvider.getRuntimeDataArray()
            dataArray.forEach(function (entry) {
                if (entry.data.hasOwnProperty('Data') && entry.data.Data.hasOwnProperty('EventFrames'))
                {
                    var eventTable = entry.data.Data.EventFrames.Content.Items[0].Content;
                    var activeInProgress = eventTable.Items.filter(x => x.InProgress == true && x.IsAcknowledged == false);
                    if (activeInProgress.length > 0)
                    {
                        audio.play();
                    }
                }
});

 

The main problem with this is that displayProvider.SelectAll() is really annoying for users, especially when they are trying to edit the page. Is there another way to get the RuntimeDataArray without calling displayProvider.SelectAll()?

 

Cheers,

Ivan

Outcomes