4 Replies Latest reply on Nov 15, 2017 9:31 PM by I.Berry

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

    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