From d02e14cb94e792915bdbd7034d8dee3ee8fab4b2 Mon Sep 17 00:00:00 2001
From: tamaina <tamaina@hotmail.co.jp>
Date: Thu, 16 Apr 2020 01:04:21 +0900
Subject: [PATCH] Fix Media List in CW Content (#6099)

---
 src/client/components/media-list.vue | 11 +++++++----
 src/client/components/note.vue       |  7 +++++--
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/client/components/media-list.vue b/src/client/components/media-list.vue
index 2c5df4eca..c757d8091 100644
--- a/src/client/components/media-list.vue
+++ b/src/client/components/media-list.vue
@@ -34,9 +34,7 @@ export default Vue.extend({
 			default: false
 		},
 		// specify the parent element
-		parentElement: {
-			type: Object
-		}
+		parentElement: {}
 	},
 	data() {
 		return {
@@ -69,7 +67,7 @@ export default Vue.extend({
 
 				if (this.$refs.gridOuter) {
 					let height = 287;
-					const parent = this.$props.parentElement || this.$parent.$el;
+					const parent = this.parentElement || this.$parent.$el;
 
 					if (this.$refs.gridOuter.clientHeight) {
 						height = this.$refs.gridOuter.clientHeight;
@@ -83,6 +81,11 @@ export default Vue.extend({
 				}
 			});
 		}
+	},
+	watch: {
+		parentElement() {
+			this.size();
+		}
 	}
 });
 </script>
diff --git a/src/client/components/note.vue b/src/client/components/note.vue
index a39520fb4..34871ac85 100644
--- a/src/client/components/note.vue
+++ b/src/client/components/note.vue
@@ -33,7 +33,7 @@
 		<mk-avatar class="avatar" :user="appearNote.user"/>
 		<div class="main">
 			<x-note-header class="header" :note="appearNote" :mini="true"/>
-			<div class="body" v-if="appearNote.deletedAt == null">
+			<div class="body" v-if="appearNote.deletedAt == null" ref="noteBody">
 				<p v-if="appearNote.cw != null" class="cw">
 				<mfm v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$store.state.i" :custom-emojis="appearNote.emojis" />
 					<x-cw-button v-model="showContent" :note="appearNote"/>
@@ -46,7 +46,7 @@
 						<a class="rp" v-if="appearNote.renote != null">RN:</a>
 					</div>
 					<div class="files" v-if="appearNote.files.length > 0">
-						<x-media-list :media-list="appearNote.files"/>
+						<x-media-list :media-list="appearNote.files" :parent-element="noteBody"/>
 					</div>
 					<x-poll v-if="appearNote.poll" :note="appearNote" ref="pollViewer"/>
 					<mk-url-preview v-for="url in urls" :url="url" :key="url" :compact="true" class="url-preview"/>
@@ -142,6 +142,7 @@ export default Vue.extend({
 			replies: [],
 			showContent: false,
 			hideThisNote: false,
+			noteBody: this.$refs.noteBody,
 			faEdit, faBolt, faTimes, faBullhorn, faPlus, faMinus, faRetweet, faReply, faReplyAll, faEllipsisH, faHome, faUnlock, faEnvelope, faThumbtack, faBan
 		};
 	},
@@ -254,6 +255,8 @@ export default Vue.extend({
 		if (this.$store.getters.isSignedIn) {
 			this.connection.on('_connected_', this.onStreamConnected);
 		}
+
+		this.noteBody = this.$refs.noteBody
 	},
 
 	beforeDestroy() {