avatar releaseStatus filter

This commit is contained in:
pypy
2021-02-01 21:28:56 +09:00
parent fbebe2bbdc
commit f81c622020
2 changed files with 24 additions and 2 deletions

View File

@@ -6286,6 +6286,7 @@ speechSynthesis.getVoices();
worldSorting: 'update',
avatarSorting: 'update',
avatarReleaseStatus: 'all',
treeData: [],
memo: ''
@@ -6950,6 +6951,20 @@ speechSynthesis.getVoices();
this.setUserDialogAvatars(D.avatars);
};
$app.methods.changeUserDialogAvatarReleaseStatus = function () {
var D = this.userDialog;
this.setUserDialogAvatars(D.avatars);
};
$app.computed.userDialogAvatars = function () {
var { avatars, avatarReleaseStatus } = this.userDialog;
if (avatarReleaseStatus === 'public' ||
avatarReleaseStatus === 'private') {
return avatars.filter((avatar) => avatar.releaseStatus === avatarReleaseStatus);
}
return avatars;
};
// App: World Dialog
$app.data.worldDialog = {

View File

@@ -887,16 +887,23 @@ html
span.extra(v-if="world.occupants") ({{ world.occupants }})
el-tab-pane(label="Avatars")
el-button(type="default" :loading="userDialog.isAvatarsLoading" @click="refreshUserDialogAvatars()" size="mini" icon="el-icon-refresh" circle)
span(style="margin-left:5px") Total {{ userDialog.avatars.length }}
span(style="margin-left:5px") Total {{ userDialogAvatars.length }}
el-radio-group(v-model="userDialog.avatarSorting" size="mini" style="margin-left:30px" @change="changeUserDialogAvatarSorting")
el-radio(label="name") by name
el-radio(label="update") by update
el-radio-group(v-model="userDialog.avatarReleaseStatus" size="mini" style="margin-left:60px")
el-radio(label="all") all
el-radio(label="public") public
el-radio(label="private") private
.x-friend-list(v-loading="userDialog.isAvatarsLoading" style="margin-top:10px;min-height:60px")
.x-friend-item(v-for="avatar in userDialog.avatars" :key="avatar.id" @click="showAvatarDialog(avatar.id)")
.x-friend-item(v-for="avatar in userDialogAvatars" :key="avatar.id" @click="showAvatarDialog(avatar.id)")
.avatar
img(v-lazy="avatar.thumbnailImageUrl")
.detail
span.name(v-text="avatar.name")
span.extra(v-text="avatar.releaseStatus" v-if="avatar.releaseStatus === 'public'" style="color: #67c23a;")
span.extra(v-text="avatar.releaseStatus" v-else-if="avatar.releaseStatus === 'private'" style="color: #f56c6c;")
span.extra(v-text="avatar.releaseStatus" v-else)
el-tab-pane(label="JSON")
el-button(type="default" @click="refreshUserDialogTreeData()" size="mini" icon="el-icon-refresh" circle)
el-tree(:data="userDialog.treeData" style="margin-top:5px;font-size:12px")