投稿フォームが画面外にはみ出さないように (#5203)
* 上下はみ出したウィンドウは上基準で収めるように * 投稿フォームを画面より長くしないように
This commit is contained in:
parent
b2ed45ae38
commit
e695f54ef0
2 changed files with 15 additions and 9 deletions
|
@ -10,7 +10,7 @@
|
|||
</span>
|
||||
</template>
|
||||
|
||||
<div class="mk-post-form-window--body">
|
||||
<div class="mk-post-form-window--body" :style="{ maxHeight: `${maxHeight}px` }">
|
||||
<mk-note-preview v-if="reply" class="notePreview" :note="reply"/>
|
||||
<x-post-form ref="form"
|
||||
:reply="reply"
|
||||
|
@ -61,6 +61,12 @@ export default Vue.extend({
|
|||
};
|
||||
},
|
||||
|
||||
computed: {
|
||||
maxHeight() {
|
||||
return window.innerHeight - 50;
|
||||
},
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
(this.$refs.form as any).focus();
|
||||
|
|
|
@ -260,14 +260,14 @@ export default Vue.extend({
|
|||
let moveLeft = me.clientX - moveBaseX;
|
||||
let moveTop = me.clientY - moveBaseY;
|
||||
|
||||
// 上はみ出し
|
||||
if (moveTop < 0) moveTop = 0;
|
||||
// 下はみ出し
|
||||
if (moveTop + windowHeight > browserHeight) moveTop = browserHeight - windowHeight;
|
||||
|
||||
// 左はみ出し
|
||||
if (moveLeft < 0) moveLeft = 0;
|
||||
|
||||
// 下はみ出し
|
||||
if (moveTop + windowHeight > browserHeight) moveTop = browserHeight - windowHeight;
|
||||
// 上はみ出し
|
||||
if (moveTop < 0) moveTop = 0;
|
||||
|
||||
// 右はみ出し
|
||||
if (moveLeft + windowWidth > browserWidth) moveLeft = browserWidth - windowWidth;
|
||||
|
@ -442,10 +442,10 @@ export default Vue.extend({
|
|||
const browserHeight = window.innerHeight;
|
||||
const windowWidth = main.offsetWidth;
|
||||
const windowHeight = main.offsetHeight;
|
||||
if (position.left < 0) main.style.left = 0;
|
||||
if (position.top < 0) main.style.top = 0;
|
||||
if (position.left + windowWidth > browserWidth) main.style.left = browserWidth - windowWidth + 'px';
|
||||
if (position.top + windowHeight > browserHeight) main.style.top = browserHeight - windowHeight + 'px';
|
||||
if (position.left < 0) main.style.left = 0; // 左はみ出し
|
||||
if (position.top + windowHeight > browserHeight) main.style.top = browserHeight - windowHeight + 'px'; // 下はみ出し
|
||||
if (position.left + windowWidth > browserWidth) main.style.left = browserWidth - windowWidth + 'px'; // 右はみ出し
|
||||
if (position.top < 0) main.style.top = 0; // 上はみ出し
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue