El menú desplegable Xeditable angular e-ng-change no funciona

Estoy usandoXeditable angular api. Necesito cambiar el valor del campo de texto de acuerdo con el valor del menú desplegable. Pero no funciona. ¿Podría decirme por qué? Gracias.

HTML

<td>
<span editable-select="user.status" e-form="tableform" e-ng-options="s.value as s.text for s in statuses" e-ng-change="setName($data,user)">
   {{ showStatus(user) }}
</span>
</td>

js

 $scope.setName = function (id, user) {
                var selected = [];
                if (id) {
                    selected = $filter('filter')($scope.statuses, { value: id });
                }

                if (selected.length) {
                    user.name = selected[0].text;
                }
            };

HTML generado : puede ver que se ha cambiado el texto del nombre archivado como se esperaba (estado3). Pero no actualiza el cuadro de texto correctamente. En otras palabras, no se muestra en el cuadro de texto.

<td>
  <!-- editable username (text with validation) -->
 <span editable-text="user.name" e-form="tableform" onbeforesave="checkName($data, user.id)" class="ng-scope ng-binding editable editable-hide">
             status3
  </span><span class="editable-wrap editable-text ng-scope"><div class="editable-controls form-group" ng-class="{'has-error': $error}"><input type="text" class="editable-input form-control ng-pristine ng-valid" ng-model="$data"><div class="editable-error help-block ng-binding" ng-show="$error" ng-bind="$error" style="display: none;"></div></div></span>
</td>

ACTUALIZACIÓN

He intentado así, pero luego cambia todos los valores de las filas. Entonces, ¿cómo puedo detectar solo la fila modificada?

 $scope.setName = function (id, user,form) {
                var selected = [];
                if (id) {
                    selected = $filter('filter')($scope.statuses, { value: id });
                }

                if (selected.length) {
                    for (var i = 0; i < form.$editables.length; i++) {
                        if (form.$editables[i].name === 'user.name') {
                           form.$editables[i].scope.$data ="sampath"                             
                        }
                      }
                }
            }; 

Aquí está elJsFiddle

Respuestas a la pregunta(2)

Su respuesta a la pregunta