Add pan threshold

This commit is contained in:
Tusooa Zhu 2021-08-01 23:42:34 -04:00
parent d9030b4fdd
commit 544db06294
No known key found for this signature in database
GPG Key ID: 7B467EDE43A08224
1 changed files with 15 additions and 3 deletions

View File

@ -19,6 +19,8 @@ library.add(
) )
const onlyXAxis = ([x, y]) => [x, 0] const onlyXAxis = ([x, y]) => [x, 0]
const SCALING_RESET_MIN = 1.1
const SCALING_ENABLE_MOVE_THRESHOLD = 1
const MediaModal = { const MediaModal = {
components: { components: {
@ -116,11 +118,17 @@ const MediaModal = {
this.loading = false this.loading = false
}, },
handleSwipePreview (offsets) { handleSwipePreview (offsets) {
this.$store.dispatch('swipeScaler/apply', { offsets: onlyXAxis(offsets) }) this.$store.dispatch('swipeScaler/apply', {
offsets: this.scaling > SCALING_ENABLE_MOVE_THRESHOLD ? offsets : onlyXAxis(offsets)
})
}, },
handleSwipeEnd (sign) { handleSwipeEnd (sign) {
if (this.scaling > SCALING_ENABLE_MOVE_THRESHOLD) {
this.$store.dispatch('swipeScaler/finish')
return
}
if (sign === 0) { if (sign === 0) {
this.$store.dispatch('swipeScaler/revert') this.$store.dispatch('swipeScaler/reset')
} else if (sign > 0) { } else if (sign > 0) {
this.goNext() this.goNext()
} else { } else {
@ -132,7 +140,11 @@ const MediaModal = {
this.$store.dispatch('swipeScaler/apply', { offsets, scaling }) this.$store.dispatch('swipeScaler/apply', { offsets, scaling })
}, },
handlePinchEnd () { handlePinchEnd () {
if (this.scaling > SCALING_RESET_MIN) {
this.$store.dispatch('swipeScaler/finish') this.$store.dispatch('swipeScaler/finish')
} else {
this.$store.dispatch('swipeScaler/reset')
}
}, },
handleKeyupEvent (e) { handleKeyupEvent (e) {
if (this.showing && e.keyCode === 27) { // escape if (this.showing && e.keyCode === 27) { // escape