mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-07-18 20:04:38 +00:00
Merge pull request #3993 from negue/performance_trackBy
ngRepeat with track by
This commit is contained in:
commit
1dc141b1ec
5 changed files with 7 additions and 7 deletions
|
|
@ -50,7 +50,7 @@ script(type='text/ng-template', id='partials/options.social.challenges.detail.ht
|
|||
=env.t('exportChallengeCSV')
|
||||
h3=env.t('hows')
|
||||
menu
|
||||
button.customize-option(ng-repeat='member in challenge.members', ng-click='toggleMember(challenge._id, member._id)') {{member.profile.name}}
|
||||
button.customize-option(ng-repeat='member in challenge.members track by member._id', ng-click='toggleMember(challenge._id, member._id)') {{member.profile.name}}
|
||||
div(ui-view)
|
||||
|
||||
// Accordion version if we choose that instead
|
||||
|
|
@ -135,7 +135,7 @@ script(type='text/ng-template', id='partials/options.social.challenges.html')
|
|||
|
||||
// Challenges list
|
||||
.panel-group
|
||||
.panel.panel-default(ng-repeat='challenge in challenges|filter:filterChallenges')
|
||||
.panel.panel-default(ng-repeat='challenge in challenges|filter:filterChallenges track by challenge._id ')
|
||||
.panel-heading
|
||||
ul.pull-right.challenge-accordion-header-specs
|
||||
li(ng-if='challenge.official')
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
li.chat-message(ng-repeat='message in group.chat', ng-class=':: {highlight: isUserMentioned(user,message) || message.uuid=="system", "own-message": user._id == message.uuid}')
|
||||
li.chat-message(ng-repeat='message in group.chat track by message.id', ng-class=':: {highlight: isUserMentioned(user,message) || message.uuid=="system", "own-message": user._id == message.uuid}')
|
||||
.scrollable-message
|
||||
span(ng-if='::message.uuid!="system"')
|
||||
a.label.label-default.chat-message.hidden-label
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter
|
|||
ng-change='set({"party.order": user.party.order})'
|
||||
)
|
||||
table.table.table-striped(bindonce='group')
|
||||
tr(ng-repeat='member in group.members')
|
||||
tr(ng-repeat='member in group.members track by member._id')
|
||||
td
|
||||
// allow leaders to ban members
|
||||
div(ng-show='group.leader == user.id && user.id!=member._id')
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ script(type='text/ng-template', id='partials/options.social.guilds.public.html')
|
|||
.col-md-3
|
||||
input.form-control(type='text',ng-model='guildSearch', placeholder=env.t('search'))
|
||||
table.table.table-striped
|
||||
tr(ng-repeat='group in groups.public | filter:guildSearch')
|
||||
tr(ng-repeat='group in groups.public | filter:guildSearch track by group._id')
|
||||
td
|
||||
ul.pull-right.challenge-accordion-header-specs
|
||||
li='{{::group.memberCount}} ' + env.t('members')
|
||||
|
|
@ -65,7 +65,7 @@ script(type='text/ng-template', id='partials/options.social.guilds.html')
|
|||
li(ng-class="{ active: $state.includes('options.social.guilds.public') }")
|
||||
a(ui-sref='options.social.guilds.public')
|
||||
=env.t('publicGuilds')
|
||||
li(ng-class="{ active: $stateParams.gid == group._id }", ng-repeat='group in groups.guilds')
|
||||
li(ng-class="{ active: $stateParams.gid == group._id }", ng-repeat='group in groups.guilds track by group._id')
|
||||
a(ui-sref="options.social.guilds.detail({gid:group._id})")
|
||||
| {{group.name}}
|
||||
li(ng-class="{ active: $state.includes('options.social.guilds.create') }")
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
li(bindonce='list', bo-id='"task-"+task.id', ng-repeat='task in obj[list.type+"s"]', class='task {{Shared.taskClasses(task, user.filters, user.preferences.dayStart, user.lastCron, list.showCompleted, main)}}', ng-click='spell && castEnd(task, "task", $event)', ng-class='{"cast-target":spell}', popover-trigger='mouseenter', popover-placement='top', popover='{{task.notes}}')
|
||||
li(bindonce='list', bo-id='"task-"+task.id', ng-repeat='task in obj[list.type+"s"] track by task.id', class='task {{Shared.taskClasses(task, user.filters, user.preferences.dayStart, user.lastCron, list.showCompleted, main)}}', ng-click='spell && castEnd(task, "task", $event)', ng-class='{"cast-target":spell}', popover-trigger='mouseenter', popover-placement='top', popover='{{task.notes}}')
|
||||
// right-hand side control buttons
|
||||
.task-meta-controls
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue