fix: remove unnecessary v-once directives from dynamic components (#1080)

This commit is contained in:
pa
2025-01-14 00:23:39 +09:00
committed by GitHub
parent 885ead4edf
commit dacc6a8637
16 changed files with 151 additions and 150 deletions
+31 -31
View File
@@ -83,32 +83,32 @@ mixin groups()
el-button(size="small" @click="selectAllGroupMembers") {{ $t('dialog.group_member_moderation.select_all') }}
data-tables(v-bind="groupMemberModerationTable" style="margin-top:10px")
el-table-column(width="55" prop="$selected" :key="groupMemberModerationTableForceUpdate")
template(v-once #default="scope")
template(#default="scope")
el-button(type="text" size="mini" @click.stop)
el-checkbox(v-model="scope.row.$selected" @change="groupMemberModerationTableSelectionChange(scope.row)")
el-table-column(:label="$t('dialog.group_member_moderation.avatar')" width="70" prop="photo")
template(v-once #default="scope")
template(#default="scope")
el-popover(placement="right" height="500px" trigger="hover")
img.friends-list-avatar(slot="reference" v-lazy="userImage(scope.row.user)")
img.friends-list-avatar(v-lazy="userImageFull(scope.row.user)" style="height:500px;cursor:pointer" @click="showFullscreenImageDialog(userImageFull(scope.row.user))")
el-table-column(:label="$t('dialog.group_member_moderation.display_name')" width="160" prop="$displayName" sortable)
template(v-once #default="scope")
template(#default="scope")
span(style="cursor:pointer" @click="showUserDialog(scope.row.userId)")
span(v-if="randomUserColours" v-text="scope.row.user.displayName" :style="{'color':scope.row.user.$userColour}")
span(v-else v-text="scope.row.user.displayName")
el-table-column(:label="$t('dialog.group_member_moderation.roles')" prop="roleIds" sortable)
template(v-once #default="scope")
template(#default="scope")
template(v-for="roleId in scope.row.roleIds" :key="roleId")
span(v-for="(role, rIndex) in groupMemberModeration.groupRef.roles" :key="rIndex" v-if="role.id === roleId" v-text="role.name")
span(v-if="scope.row.roleIds.indexOf(roleId) < scope.row.roleIds.length - 1") ,&nbsp;
el-table-column(:label="$t('dialog.group_member_moderation.notes')" prop="managerNotes" sortable)
template(v-once #default="scope")
template(#default="scope")
span(v-text="scope.row.managerNotes" @click.stop)
el-table-column(:label="$t('dialog.group_member_moderation.joined_at')" width="170" prop="joinedAt" sortable)
template(v-once #default="scope")
template(#default="scope")
span {{ scope.row.joinedAt | formatDate('long') }}
el-table-column(:label="$t('dialog.group_member_moderation.visibility')" width="120" prop="visibility" sortable)
template(v-once #default="scope")
template(#default="scope")
span(v-text="scope.row.visibility")
el-tab-pane(:label="$t('dialog.group_member_moderation.bans')" :disabled="!hasGroupPermission(groupDialog.ref, 'group-bans-manage')")
div(style="margin-top:10px")
@@ -120,32 +120,32 @@ mixin groups()
el-button(size="small" @click="selectAllGroupBans") {{ $t('dialog.group_member_moderation.select_all') }}
data-tables(v-bind="groupBansModerationTable" style="margin-top:10px")
el-table-column(width="55" prop="$selected" :key="groupMemberModerationTableForceUpdate")
template(v-once #default="scope")
template(#default="scope")
el-button(type="text" size="mini" @click.stop)
el-checkbox(v-model="scope.row.$selected" @change="groupMemberModerationTableSelectionChange(scope.row)")
el-table-column(:label="$t('dialog.group_member_moderation.avatar')" width="70" prop="photo")
template(v-once #default="scope")
template(#default="scope")
el-popover(placement="right" height="500px" trigger="hover")
img.friends-list-avatar(slot="reference" v-lazy="userImage(scope.row.user)")
img.friends-list-avatar(v-lazy="userImageFull(scope.row.user)" style="height:500px;cursor:pointer" @click="showFullscreenImageDialog(userImageFull(scope.row.user))")
el-table-column(:label="$t('dialog.group_member_moderation.display_name')" width="160" prop="$displayName" sortable)
template(v-once #default="scope")
template(#default="scope")
span(style="cursor:pointer" @click="showUserDialog(scope.row.userId)")
span(v-if="randomUserColours" v-text="scope.row.user.displayName" :style="{'color':scope.row.user.$userColour}")
span(v-else v-text="scope.row.user.displayName")
el-table-column(:label="$t('dialog.group_member_moderation.roles')" prop="roleIds" sortable)
template(v-once #default="scope")
template(#default="scope")
template(v-for="roleId in scope.row.roleIds" :key="roleId")
span(v-for="(role, rIndex) in groupMemberModeration.groupRef.roles" :key="rIndex" v-if="role.id === roleId" v-text="role.name")
span(v-if="scope.row.roleIds.indexOf(roleId) < scope.row.roleIds.length - 1") ,&nbsp;
el-table-column(:label="$t('dialog.group_member_moderation.notes')" prop="managerNotes" sortable)
template(v-once #default="scope")
template(#default="scope")
span(v-text="scope.row.managerNotes" @click.stop)
el-table-column(:label="$t('dialog.group_member_moderation.joined_at')" width="170" prop="joinedAt" sortable)
template(v-once #default="scope")
template(#default="scope")
span {{ scope.row.joinedAt | formatDate('long') }}
el-table-column(:label="$t('dialog.group_member_moderation.banned_at')" width="170" prop="joinedAt" sortable)
template(v-once #default="scope")
template(#default="scope")
span {{ scope.row.bannedAt | formatDate('long') }}
el-tab-pane(:label="$t('dialog.group_member_moderation.invites')" :disabled="!hasGroupPermission(groupDialog.ref, 'group-invites-manage')")
div(style="margin-top:10px")
@@ -159,21 +159,21 @@ mixin groups()
el-button(size="small" @click="selectAllGroupInvites") {{ $t('dialog.group_member_moderation.select_all') }}
data-tables(v-bind="groupInvitesModerationTable" style="margin-top:10px")
el-table-column(width="55" prop="$selected" :key="groupMemberModerationTableForceUpdate")
template(v-once #default="scope")
template(#default="scope")
el-button(type="text" size="mini" @click.stop)
el-checkbox(v-model="scope.row.$selected" @change="groupMemberModerationTableSelectionChange(scope.row)")
el-table-column(:label="$t('dialog.group_member_moderation.avatar')" width="70" prop="photo")
template(v-once #default="scope")
template(#default="scope")
el-popover(placement="right" height="500px" trigger="hover")
img.friends-list-avatar(slot="reference" v-lazy="userImage(scope.row.user)")
img.friends-list-avatar(v-lazy="userImageFull(scope.row.user)" style="height:500px;cursor:pointer" @click="showFullscreenImageDialog(userImageFull(scope.row.user))")
el-table-column(:label="$t('dialog.group_member_moderation.display_name')" width="160" prop="$displayName" sortable)
template(v-once #default="scope")
template(#default="scope")
span(style="cursor:pointer" @click="showUserDialog(scope.row.userId)")
span(v-if="randomUserColours" v-text="scope.row.user.displayName" :style="{'color':scope.row.user.$userColour}")
span(v-else v-text="scope.row.user.displayName")
el-table-column(:label="$t('dialog.group_member_moderation.notes')" prop="managerNotes" sortable)
template(v-once #default="scope")
template(#default="scope")
span(v-text="scope.row.managerNotes" @click.stop)
br
el-button(@click="groupMembersDeleteSentInvite" :disabled="groupMemberModeration.progressCurrent || !hasGroupPermission(groupDialog.ref, 'group-invites-manage')") {{ $t('dialog.group_member_moderation.delete_sent_invite') }}
@@ -184,21 +184,21 @@ mixin groups()
el-button(size="small" @click="selectAllGroupJoinRequests") {{ $t('dialog.group_member_moderation.select_all') }}
data-tables(v-bind="groupJoinRequestsModerationTable" style="margin-top:10px")
el-table-column(width="55" prop="$selected" :key="groupMemberModerationTableForceUpdate")
template(v-once #default="scope")
template(#default="scope")
el-button(type="text" size="mini" @click.stop)
el-checkbox(v-model="scope.row.$selected" @change="groupMemberModerationTableSelectionChange(scope.row)")
el-table-column(:label="$t('dialog.group_member_moderation.avatar')" width="70" prop="photo")
template(v-once #default="scope")
template(#default="scope")
el-popover(placement="right" height="500px" trigger="hover")
img.friends-list-avatar(slot="reference" v-lazy="userImage(scope.row.user)")
img.friends-list-avatar(v-lazy="userImageFull(scope.row.user)" style="height:500px;cursor:pointer" @click="showFullscreenImageDialog(userImageFull(scope.row.user))")
el-table-column(:label="$t('dialog.group_member_moderation.display_name')" width="160" prop="$displayName" sortable)
template(v-once #default="scope")
template(#default="scope")
span(style="cursor:pointer" @click="showUserDialog(scope.row.userId)")
span(v-if="randomUserColours" v-text="scope.row.user.displayName" :style="{'color':scope.row.user.$userColour}")
span(v-else v-text="scope.row.user.displayName")
el-table-column(:label="$t('dialog.group_member_moderation.notes')" prop="managerNotes" sortable)
template(v-once #default="scope")
template(#default="scope")
span(v-text="scope.row.managerNotes" @click.stop)
br
el-button(@click="groupMembersAcceptInviteRequest" :disabled="groupMemberModeration.progressCurrent || !hasGroupPermission(groupDialog.ref, 'group-invites-manage')") {{ $t('dialog.group_member_moderation.accept_join_requests') }}
@@ -211,21 +211,21 @@ mixin groups()
el-button(size="small" @click="selectAllGroupBlocked") {{ $t('dialog.group_member_moderation.select_all') }}
data-tables(v-bind="groupBlockedModerationTable" style="margin-top:10px")
el-table-column(width="55" prop="$selected" :key="groupMemberModerationTableForceUpdate")
template(v-once #default="scope")
template(#default="scope")
el-button(type="text" size="mini" @click.stop)
el-checkbox(v-model="scope.row.$selected" @change="groupMemberModerationTableSelectionChange(scope.row)")
el-table-column(:label="$t('dialog.group_member_moderation.avatar')" width="70" prop="photo")
template(v-once #default="scope")
template(#default="scope")
el-popover(placement="right" height="500px" trigger="hover")
img.friends-list-avatar(slot="reference" v-lazy="userImage(scope.row.user)")
img.friends-list-avatar(v-lazy="userImageFull(scope.row.user)" style="height:500px;cursor:pointer" @click="showFullscreenImageDialog(userImageFull(scope.row.user))")
el-table-column(:label="$t('dialog.group_member_moderation.display_name')" width="160" prop="$displayName" sortable)
template(v-once #default="scope")
template(#default="scope")
span(style="cursor:pointer" @click="showUserDialog(scope.row.userId)")
span(v-if="randomUserColours" v-text="scope.row.user.displayName" :style="{'color':scope.row.user.$userColour}")
span(v-else v-text="scope.row.user.displayName")
el-table-column(:label="$t('dialog.group_member_moderation.notes')" prop="managerNotes" sortable)
template(v-once #default="scope")
template(#default="scope")
span(v-text="scope.row.managerNotes" @click.stop)
br
el-button(@click="groupMembersDeleteBlockedRequest" :disabled="groupMemberModeration.progressCurrent || !hasGroupPermission(groupDialog.ref, 'group-invites-manage')") {{ $t('dialog.group_member_moderation.delete_blocked_requests') }}
@@ -243,20 +243,20 @@ mixin groups()
br
data-tables(v-bind="groupLogsModerationTable" style="margin-top:10px")
el-table-column(:label="$t('dialog.group_member_moderation.created_at')" width="170" prop="created_at" sortable)
template(v-once #default="scope")
template(#default="scope")
span {{ scope.row.created_at | formatDate('long') }}
el-table-column(:label="$t('dialog.group_member_moderation.type')" width="190" prop="eventType" sortable)
template(v-once #default="scope")
template(#default="scope")
span(v-text="scope.row.eventType")
el-table-column(:label="$t('dialog.group_member_moderation.display_name')" width="160" prop="actorDisplayName" sortable)
template(v-once #default="scope")
template(#default="scope")
span(style="cursor:pointer" @click="showUserDialog(scope.row.actorId)")
span(v-text="scope.row.actorDisplayName")
el-table-column(:label="$t('dialog.group_member_moderation.description')" prop="description")
template(v-once #default="scope")
template(#default="scope")
span(v-text="scope.row.description")
el-table-column(:label="$t('dialog.group_member_moderation.data')" prop="data")
template(v-once #default="scope")
template(#default="scope")
span(v-if="Object.keys(scope.row.data).length" v-text="JSON.stringify(scope.row.data)")
br
br