Only digest on card update not for every interval

and add various track by statements

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl 2018-02-04 14:49:28 +01:00
Родитель d5bec8d19e
Коммит 8e51fdbb88
4 изменённых файлов: 11 добавлений и 9 удалений

Просмотреть файл

@ -78,9 +78,11 @@ app.controller('CardController', function ($scope, $rootScope, $routeParams, $lo
var header = $('.section-header.card-description');
header.find('.save-indicator.unsaved').hide();
header.find('.save-indicator.saved').fadeIn(250).fadeOut(1000);
StackService.updateCard($scope.status.edit);
BoardService.$scope.$digest();
});
}
}, 500);
}, 500, 0, false);
// handle rename to update information on the board as well
$scope.cardRename = function (card) {

Просмотреть файл

@ -24,7 +24,7 @@
</tr>
</thead>
<tbody>
<tr data-ng-repeat="b in boardservice.sorted" ng-class="{deleted: b.deletedAt > 0}">
<tr data-ng-repeat="b in boardservice.sorted track by b.id" ng-class="{deleted: b.deletedAt > 0}">
<td ng-click="gotoBoard(b)">
<div class="board-bullet" ng-style="{'background-color':'#'+b.color}"> </div>
</td>
@ -42,7 +42,7 @@
<td>
<div id="assigned-users">
<avatar data-contactsmenu data-tooltip data-user="{{ b.owner.uid }}" data-displayname="{{ b.owner.displayname }}"></avatar>
<avatar data-contactsmenu data-tooltip data-user="{{ acl.participant.uid }}" data-displayname="{{ acl.participant.displayname }}" ng-repeat="acl in b.acl | limitTo: 7"></avatar>
<avatar data-contactsmenu data-tooltip data-user="{{ acl.participant.uid }}" data-displayname="{{ acl.participant.displayname }}" ng-repeat="acl in b.acl | limitTo: 7 track by acl.i"></avatar>
</div>
</td>
<td>

Просмотреть файл

@ -15,7 +15,7 @@
ng-blur="cardRename(cardservice.getCurrent())"
autofocus-on-insert required maxlength="100">
</form>
<div ng-click="cardRenameShow()" ng-show="!status.cardRename">
<div ng-click="cardRenameShow()" ng-if="!status.cardRename">
{{ cardservice.getCurrent().title }}
</div>
</h3>
@ -29,11 +29,11 @@
<span>{{ cardservice.getCurrent().owner.displayname }}</span>
</div>
<div class="section-header">
<h4 id="card-tag-label" ng-show="!(boardservice.isArchived() || card.archived) && card.labels">
<h4 id="card-tag-label" ng-if="!(boardservice.isArchived() || card.archived) && card.labels">
<?php p($l->t('Tags')); ?>
</h4>
</div>
<div id="labels" ng-show="!(boardservice.isArchived() || card.archived) && card.labels">
<div id="labels" ng-if="!(boardservice.isArchived() || card.archived) && card.labels">
<ui-select multiple tagging="" ng-model="card.labels" theme="select2"
ng-disabled="boardservice.isArchived() || card.archived"
title="<?php p($l->t('Choose a tag')); ?>"
@ -44,7 +44,7 @@
<span class="select-label" ng-style="labelStyle($item.color)">{{$item.title}}&nbsp;</span>
</ui-select-match>
<ui-select-choices
repeat="label in boardservice.getCurrent().labels | filter:$select.search">
repeat="label in boardservice.getCurrent().labels | filter:$select.search track by label.id">
<span class="choose-label" ng-style="labelStyle(label.color)">{{label.title}}</span>
</ui-select-choices>
</ui-select>
@ -66,7 +66,7 @@
</ui-select-choices>
</ui-select>
<div class="card-details-assign-users-list">
<div class="assigned-user" ng-repeat="user in cardservice.getCurrent().assignedUsers">
<div class="assigned-user" ng-repeat="user in cardservice.getCurrent().assignedUsers track by user.uid">
<avatar ng-attr-contactsmenu ng-attr-tooltip ng-attr-user="{{ user.participant.uid }}" ng-attr-displayname="{{ user.participant.displayname }}" contactsmenudelete ></avatar>
</div>
</div>

Просмотреть файл

@ -4,7 +4,7 @@
<li ng-class="{active: status.filter === 'archived' || (boardservice.getCurrent() && boardservice.getCurrent().archived)}"><a ui-sref="list({ filter: 'archived' })" class="icon-archive"><?php p($l->t('Archived boards')); ?></a></li>
<li ng-class="{active: status.filter === 'shared'}"><a ui-sref="list({ filter: 'shared' })" class="icon-share"><?php p($l->t('Shared boards')); ?></a></li>
<li class="with-icon with-menu" ng-class="{active: b.id === boardservice.getCurrent().id, editing: b.status.editNavigation}" data-ng-repeat="b in boardservice.sidebar" ng-if="b.deletedAt == 0">
<li class="with-icon with-menu" ng-class="{active: b.id === boardservice.getCurrent().id, editing: b.status.editNavigation}" data-ng-repeat="b in boardservice.sidebar track by b.id" ng-if="b.deletedAt == 0">
<span class="board-bullet" ng-style="{'background-color': '#' + b.color}"> </span>
<a href="#!/board/{{b.id}}/">{{ b.title }}</a>