mirror of
				https://github.com/KevinMidboe/leifsopplevelser.git
				synced 2025-10-29 17:50:21 +00:00 
			
		
		
		
	Arrow and swipe navigation for popovers
This commit is contained in:
		| @@ -20,6 +20,7 @@ | |||||||
|     "vue-click-outside": "^1.0.7", |     "vue-click-outside": "^1.0.7", | ||||||
|     "vue-resource": "^1.5.1", |     "vue-resource": "^1.5.1", | ||||||
|     "vue-router": "^3.0.2", |     "vue-router": "^3.0.2", | ||||||
|  |     "vue2-touch-events": "^1.1.2", | ||||||
|     "vuex": "^3.0.1" |     "vuex": "^3.0.1" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| <template> | <template> | ||||||
|   <div> |   <div> | ||||||
|     <div class="popover" @click="close"> |     <div class="popover" @click="close" v-touch:swipe.left="backwards" v-touch:swipe.right="forwards"> | ||||||
|       <div class="image-container"> |       <div class="image-container"> | ||||||
|         <img :src="image.url" /> |         <img :src="image.url" /> | ||||||
|       </div> |       </div> | ||||||
| @@ -26,6 +26,9 @@ export default { | |||||||
|       required: true, |       required: true, | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|  |   created() { | ||||||
|  |     window.addEventListener('keyup', this.arrowNavigation) | ||||||
|  |   }, | ||||||
|   methods: { |   methods: { | ||||||
|     forwards() { |     forwards() { | ||||||
|       eventHub.$emit('iteratePopoverImage', 1) |       eventHub.$emit('iteratePopoverImage', 1) | ||||||
| @@ -33,8 +36,18 @@ export default { | |||||||
|     backwards() { |     backwards() { | ||||||
|       eventHub.$emit('iteratePopoverImage', -1) |       eventHub.$emit('iteratePopoverImage', -1) | ||||||
|     }, |     }, | ||||||
|  |     arrowNavigation(event) { | ||||||
|  |       if (event.key === 'ArrowLeft') { | ||||||
|  |         this.backwards() | ||||||
|  |       } else if (event.key === 'ArrowRight') { | ||||||
|  |         this.forwards() | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     close() { |     close() { | ||||||
|       eventHub.$emit('closePopover') |       eventHub.$emit('closePopover') | ||||||
|  |     }, | ||||||
|  |     beforeDestroy() { | ||||||
|  |       window.removeEventListener('keyup') | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -5,10 +5,12 @@ import App from './App' | |||||||
| import router from './routes' | import router from './routes' | ||||||
| import axios from 'axios' | import axios from 'axios' | ||||||
| import BootstrapVue from 'bootstrap-vue' | import BootstrapVue from 'bootstrap-vue' | ||||||
|  | import Vue2TouchEvents from 'vue2-touch-events' | ||||||
|  |   | ||||||
| Vue.config.productionTip = false | Vue.config.productionTip = false | ||||||
|  |  | ||||||
| window.eventHub = new Vue(); | window.eventHub = new Vue(); | ||||||
|  | Vue.use(Vue2TouchEvents) | ||||||
|  |  | ||||||
| new Vue({ | new Vue({ | ||||||
|   el: '#app', |   el: '#app', | ||||||
|   | |||||||
| @@ -6288,6 +6288,11 @@ vue2-collapse@^1.0.15: | |||||||
|   version "1.0.15" |   version "1.0.15" | ||||||
|   resolved "https://registry.yarnpkg.com/vue2-collapse/-/vue2-collapse-1.0.15.tgz#d80c242f7ba2f5c70515e00dfcfc298f5137cbea" |   resolved "https://registry.yarnpkg.com/vue2-collapse/-/vue2-collapse-1.0.15.tgz#d80c242f7ba2f5c70515e00dfcfc298f5137cbea" | ||||||
|  |  | ||||||
|  | vue2-touch-events@^1.1.2: | ||||||
|  |   version "1.1.2" | ||||||
|  |   resolved "https://registry.yarnpkg.com/vue2-touch-events/-/vue2-touch-events-1.1.2.tgz#e900eb22ae067c3915976e1d38454be08cec0a7d" | ||||||
|  |   integrity sha512-xY5y76R9Rrhjs1ezrJE+GPI5C38JGj1Bz2aB2KAF+COwdVuW9ghaLj77JjOapVUXqqBL36ZObsZ68LD3DZzjmA== | ||||||
|  |  | ||||||
| vue@^2.5.2: | vue@^2.5.2: | ||||||
|   version "2.5.17" |   version "2.5.17" | ||||||
|   resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.17.tgz#0f8789ad718be68ca1872629832ed533589c6ada" |   resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.17.tgz#0f8789ad718be68ca1872629832ed533589c6ada" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user