-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(frontend): MkPopupMenuがドロワーで子メニューの出現と同時にpopupをresolveさせるのをやめさせる #11441
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #11441 +/- ##
========================================
Coverage 78.61% 78.62%
========================================
Files 920 920
Lines 97388 97440 +52
Branches 7695 7694 -1
========================================
+ Hits 76563 76608 +45
- Misses 20825 20832 +7
|
あれ、治らない |
しゅいろが言うように面倒なのでモーダルにするか |
(なんでバグってるのかというと多分普通にchildrenCacheのせいなんだよな |
違う |
MkModalがmousedownでclose()するのが原因 |
タップがbgに抜けている…?そういうもの? |
(マウスイベントってz-indexガン無視で後ろに抜けるんだっけか) |
TODO: stopImmediatePropagationを試してみる |
mouseenterがあるとmousedownが呼ばれないの? |
ていうかparent itemはタップしてもmousedownを発火しない(他の要素とは挙動が異なる…) なぜ? |
あっ、mousedownは発火しないわ |
いいえmousedownは発火します |
とにかくmouseenter/mouseoverがタッチと相性悪いっぽい |
タッチかどうかでmouseenterとclickを使い分けるようにした |
リアクションが2回目以降できなくなった件 |
MkModalを改造する必要ないなこれ |
MkPopupMenuだけで完結するようにできたけど、今度はポップアップメニューが2度表示されなくなった件 |
やった |
focus周りだったりするのかしら |
あっ、MkModalがpointer-eventsをいじってたんだわ |
動いた |
} | ||
})(); | ||
|
||
if (!item.noCache) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
noCacheはどんな時に使うことを想定してる?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
表示ごとに変更されるようなものを想定していたけど要らないかも
(このPRでごちゃごちゃやっているときには使っていた
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
noCacheは消した
👍 |
…isskey-dev#11441) * fix(frontend): MkPopupMenuがドロワーで子メニューの出現と同時にpopupをresolveさせるのをやめさせる * fix * noCache * ✌️ * fix * ???? * a * a * ✌️ * fix emoji picker * ????? * close * 1 * fix2 * ✌️ * fix * ✌️ * ✌️ * ✌️ * preferClick * ✌️ * fix lint * a * rm nocache
@@ -39,11 +39,11 @@ SPDX-License-Identifier: AGPL-3.0-only | |||
<MkSwitchButton :class="$style.switchButton" :checked="item.ref" :disabled="item.disabled" @toggle="switchItem(item)" /> | |||
<span :class="$style.switchText">{{ item.text }}</span> | |||
</button> | |||
<button v-else-if="item.type === 'parent'" role="menuitem" :tabindex="i" class="_button" :class="[$style.item, $style.parent, { [$style.childShowing]: childShowingItem === item }]" @mouseenter="showChildren(item, $event)"> | |||
<div v-else-if="item.type === 'parent'" role="menuitem" :tabindex="i" :class="[$style.item, $style.parent, { [$style.childShowing]: childShowingItem === item }]" @mouseenter="preferClick ? null : showChildren(item, $event)" @click="!preferClick ? null : showChildren(item, $event)"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
button ではなく div に変えたのって何か意図がある?
なんか子メニューの表示位置がおかしくなる時があるわね |
直った |
#11439 がモバイルで動かないのを修正
Resolve #10362
Resolve #11257
Resolve #10620
Additional info (optional)
Checklist