Cómo mostrar algo cuando el filtrado es lento usando AngularJS

En angular, tengo una tabla y un cuadro de búsqueda donde el usuario puede escribir y angular buscará entre los datos y mostrará una tabla. El problema es que tengo suficientes datos para que el filtrado se pueda ralentizar, en este caso, me gustaría mostrar una ruleta:

Muestra similar a mi html:

<body ng-controller="MainCtrl">

Search: <input ng-model="searchText">
<table id="searchTextResults">
  <tr><th>Name</th><th>Phone</th><th>Address</th><th>City</th><th>Zip</th><th>Country</th></tr>
  <tr ng-repeat="friend in friends | filter:searchText">
    <td>{{friend.name}}</td>
    <td>{{friend.phone}}</td>
    <td>{{friend.address}}</td>
    <td>{{friend.city}}</td>
    <td>{{friend.zip}}</td>
    <td>{{friend.country}}</td>
  </tr>
</table>
<div class='myspinner' > <!-- display only if filtering is occurring -->

La pregunta es, ¿cómo puedo mostrar una ruleta cada vez que se produce un filtrado?

CSS para spinner div:

.myspinner {
       position: absolute;
       left: 45%;
       top: 45%;
       height:50px;
       width:50px;
       margin:0px auto;
       position: absolute;
       -webkit-animation: rotation .6s infinite linear;
       -moz-animation: rotation .6s infinite linear;
       -o-animation: rotation .6s infinite linear;
       animation: rotation .6s infinite linear;
       border-left:6px solid rgba(0,170,240,.25);
       border-left: 6px solid rgba(0,170,240,.25);
       border-right: 6px solid rgba(0,170,240,.25);
       border-bottom: 6px solid rgba(0,170,240,.25);
       border-top: 6px solid rgba(0,170,240,.6);
       border-radius:100%;
    }

enlace a plunkr:http://plnkr.co/edit/NcbPPcxL1rk0ZBKpbqZG?p=preview

Respuestas a la pregunta(2)

Su respuesta a la pregunta