Вы можете попробовать следующее:
- переместите нг-повтор на ваше тело
- добавьте ng-init = "data.showSubRow = false" в ваше тело
- добавить еще одну строку к телу, которая должна быть видимой, только если showSubRow имеет значение true
чтобы ваш ng-повтор был похож на
<tbody ng-repeat="data in downloads" ng-init="data.showSubRow = false">
<tr>
visible row
</tr>
<tr ng-show="data.showSubRow">
visible when clicked
</tr>
</tbody>
теперь вы можете добавить отдельные кнопки в каждую строку, чтобы показать / скрыть содержимое в отдельных строках, или добавить функцию редактирования всех, которая сделает все подвиды видимыми
показать / скрыть отдельный ряд
<tr>
<td data-title="ID">
{{$index + 1}
<span>
<button ng-show="!data.showSubRow" ng-click="data.showSubRow = true">+</button>
<button ng-show="data.showSubRow" ng-click="data.showSubRow = false">-</button>
</span>
</td>
<td data-title="User">{{data.user_name}}</td>
<td data-title="Issue">{{data.download_name}}</td>
<td data-title="Progress">{{data.size}}</td>
<td data-title="Completed time" am-time-ago="data.completed_time|amFromUnix"</td>
<td class="information-parent" data-title="More">
<md-icon ng-click="switchIcon()" class="bassa-red-color">{{icon}}</md-icon
</td>
</tr>
показать все
$scope.editAll = function(){
angular.forEach($scope.downloads, function(value, key) {
value.showSubRow = !value.showSubRow;
});
}
Рабочий образец ----> Демо