• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website

    maWatchListGet not returning .value

    User help
    3
    11
    896
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      BobDay last edited by

      This is no doubt explained somewhere, but I've been unable to find the answer. I'm attempting to pass a watchlist array via scope to a directive by an <ma-watch-list-get> request. The problem is that the {{points}} array therefrom doesn't contain the point's value (which is contained in the lastPayload object).

      If I request values via <ma-get-point-value>, the values angumagically appear in the returned {{points}} array, retrievable either through the newly included last payload object or, simply, through point.value.

      When I attempt to access the points array passed into a directive, however, I am unable to retrieve the point value. Any help would be appreciated.

      <ma-watch-list-get ng-model="designer.watchList" parameters="designer.parameters" on-points-change="designer.points = $points" id="53368ae5-7ad5-40f7-b3e8-96dd61236a48" watch-list-xid="WL_test"></ma-watch-list-get>
      
      <div>{{designer.points}}</div> <!--I'll save you the lengthy array here-->
      <table>
       <tbody>
        <tr ng-repeat="point in designer.points">
          <td><ma-get-point-value point="point"></ma-get-point-value></td>
          <td>{{point.name}}</td>
          <td>{{point.lastPayload.value.value}} </td>
          
          
          
        </tr>
       </tbody>
      </table>
      1 Reply Last reply Reply Quote 0
      • CraigWeb
        CraigWeb last edited by Jared Wiltshire

        Hi @bullitbd

        What is displayed on your dashboard. I copied your code and changed the watchlist xid and it worked for me.
        0_1572933843240_Screen Shot 2019-11-05 at 08.03.15.png
        0_1572934102612_Screen Shot 2019-11-05 at 08.08.09.png
        Does your watchlist have parameters that need to be set?
        I don't think it is advisable to put the <ma-get-point-value> in a <td>
        Also, if you want to format the JSON use <pre ng-bind="designer. points | json"></pre>

        edit. Jared: There is no reason you cannot put the <ma-get-point-value> in a td.

        1 Reply Last reply Reply Quote 0
        • Jared Wiltshire
          Jared Wiltshire last edited by

          @bullitbd Your observations are 100% in the with the design of the components. Fetching data points will not automatically get their point values. That is what the <ma-get-point-value> component is there for.

          I would suggest just sticking a <ma-get-point-value points="designer.points"> on your page somewhere.

          Developer at Radix IoT

          1 Reply Last reply Reply Quote 0
          • B
            BobDay last edited by

            Thanks @Jared-Wiltshire. Just to be clear, by design the get-point-value then modifies the designer.points object on which it is called... so that, when passed via scope, designer.points includes the lastPayload object...

            Cool. Curious why values are not included in the designer.points object in the first place?

            Also, I'm a bit confused - in:

            <ma-watch-list-get ng-model="designer.watchList" parameters="designer.parameters" on-points-change="designer.points = $points" id="53368ae5-7ad5-40f7-b3e8-96dd61236a48" watch-list-xid="WL_test"></ma-watch-list-get>
            

            does on-points-change essentially update the model? perhaps the directive code would help my curiosity.

            Thanks for your patience and clear responses.

            Jared Wiltshire 1 Reply Last reply Reply Quote 0
            • B
              BobDay last edited by

              Thanks, @CraigWeb. Appreciate the quick response. Pilot error there. But could you enlighten me on what parameters one might set on a watchlist?

              1 Reply Last reply Reply Quote 0
              • CraigWeb
                CraigWeb last edited by

                @bullitbd All the code is opened sourced @ https://github.com/infiniteautomation/ma-dashboards/tree/main/UI/web-src/ngMango

                Parameters can be added to watchlists to filter the data points, if the watchlist is not a static watchlist. ie: filter by data source or tags.

                1 Reply Last reply Reply Quote 1
                • B
                  BobDay last edited by

                  Thanks - super.

                  1 Reply Last reply Reply Quote 0
                  • Jared Wiltshire
                    Jared Wiltshire @BobDay last edited by

                    @bullitbd said in maWatchListGet not returning .value:

                    Thanks @Jared-Wiltshire. Just to be clear, by design the get-point-value then modifies the designer.points object on which it is called... so that, when passed via scope, designer.points includes the lastPayload object...

                    Correct, and crucially the value property.

                    @bullitbd said in maWatchListGet not returning .value:

                    Cool. Curious why values are not included in the designer.points object in the first place?

                    Because it incurs additional overhead and is not always required.

                    @bullitbd said in maWatchListGet not returning .value:

                    does on-points-change essentially update the model?

                    It does indeed.

                    @bullitbd said in maWatchListGet not returning .value:

                    perhaps the directive code would help my curiosity.

                    Specific link - https://github.com/infiniteautomation/ma-dashboards/blob/main/UI/web-src/ngMango/directives/watchListGet.js

                    Developer at Radix IoT

                    1 Reply Last reply Reply Quote 1
                    • B
                      BobDay last edited by

                      Thank you. The work you've done there is nothing short of amazing.

                      1 Reply Last reply Reply Quote 0
                      • B
                        BobDay last edited by BobDay

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • B
                          BobDay last edited by

                          This post is deleted!
                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post