summaryrefslogtreecommitdiff
path: root/src/client/app/common
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-06-10 03:27:10 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-06-10 03:27:10 +0900
commit5d01e19ce7cf886c2ba99ad90c9f3479ef6706b3 (patch)
tree49b8dd0fa5d5d50f57f387922e47aed7e68d9bb5 /src/client/app/common
parent2.35.0 (diff)
downloadmisskey-5d01e19ce7cf886c2ba99ad90c9f3479ef6706b3.tar.gz
misskey-5d01e19ce7cf886c2ba99ad90c9f3479ef6706b3.tar.bz2
misskey-5d01e19ce7cf886c2ba99ad90c9f3479ef6706b3.zip
Fix bug
Diffstat (limited to 'src/client/app/common')
-rw-r--r--src/client/app/common/views/components/menu.vue30
-rw-r--r--src/client/app/common/views/components/note-menu.vue10
2 files changed, 28 insertions, 12 deletions
diff --git a/src/client/app/common/views/components/menu.vue b/src/client/app/common/views/components/menu.vue
index cf3a09e672..9b16732b9a 100644
--- a/src/client/app/common/views/components/menu.vue
+++ b/src/client/app/common/views/components/menu.vue
@@ -15,7 +15,20 @@ import Vue from 'vue';
import * as anime from 'animejs';
export default Vue.extend({
- props: ['source', 'compact', 'items'],
+ props: {
+ source: {
+ required: true
+ },
+ items: {
+ type: Array,
+ required: true
+ },
+ compact: {
+ type: Boolean,
+ required: false,
+ default: false
+ }
+ },
data() {
return {
hukidasi: !this.compact
@@ -44,13 +57,13 @@ export default Vue.extend({
top = y;
}
- if (left + width > window.innerWidth) {
- left = window.innerWidth - width;
+ if (left + width - window.pageXOffset > window.innerWidth) {
+ left = window.innerWidth - width + window.pageXOffset;
this.hukidasi = false;
}
- if (top + height > window.innerHeight) {
- top = window.innerHeight - height;
+ if (top + height - window.pageYOffset > window.innerHeight) {
+ top = window.innerHeight - height + window.pageYOffset;
this.hukidasi = false;
}
@@ -139,9 +152,13 @@ $border-color = rgba(27, 31, 35, 0.15)
transform-origin center -($balloon-size)
&:before
+ &:after
content ""
display block
position absolute
+ pointer-events none
+
+ &:before
top -($balloon-size * 2)
left s('calc(50% - %s)', $balloon-size)
border-top solid $balloon-size transparent
@@ -150,9 +167,6 @@ $border-color = rgba(27, 31, 35, 0.15)
border-bottom solid $balloon-size $border-color
&:after
- content ""
- display block
- position absolute
top -($balloon-size * 2) + 1.5px
left s('calc(50% - %s)', $balloon-size)
border-top solid $balloon-size transparent
diff --git a/src/client/app/common/views/components/note-menu.vue b/src/client/app/common/views/components/note-menu.vue
index 4a8aae9e49..889f63779f 100644
--- a/src/client/app/common/views/components/note-menu.vue
+++ b/src/client/app/common/views/components/note-menu.vue
@@ -1,6 +1,6 @@
<template>
-<div class="mk-note-menu" style="position:initial">
- <mk-menu ref="menu" :source="source" :compact="compact" :items="items" @closed="$destroy"/>
+<div style="position:initial">
+ <mk-menu :source="source" :compact="compact" :items="items" @closed="closed"/>
</div>
</template>
@@ -63,8 +63,10 @@ export default Vue.extend({
});
},
- close() {
- this.$refs.menu.close();
+ closed() {
+ this.$nextTick(() => {
+ this.$destroy();
+ });
}
}
});