27
27
<div class =" pswp__top-bar" >
28
28
<div class =" pswp__counter" ></div >
29
29
<button class =" pswp__button pswp__button--close" title =" Close (Esc)" ></button >
30
+
31
+ <span class =" rotation-wrapper" >
32
+ <i class =" material-icons" v-if =options.rotationOn @click =" rotate(-90)" >rotate_left</i >
33
+ <i class =" material-icons" v-if =options.rotationOn @click =" rotate(90)" >rotate_right</i >
34
+ </span >
35
+
30
36
<button class =" pswp__button pswp__button--share" title =" Share" ></button >
31
37
<button class =" pswp__button pswp__button--fs" title =" Toggle fullscreen" ></button >
32
38
<button class =" pswp__button pswp__button--zoom" title =" Zoom in/out" ></button >
41
47
<div class =" pswp__share-modal pswp__share-modal--hidden pswp__single-tap" >
42
48
<div class =" pswp__share-tooltip" ></div >
43
49
</div >
44
- <button class =" pswp__button pswp__button--arrow--left" title =" Previous (arrow left)" >
50
+ <button class =" pswp__button pswp__button--arrow--left" title =" Previous (arrow left)" @click = ' resetAngle ' >
45
51
</button >
46
- <button class =" pswp__button pswp__button--arrow--right" title =" Next (arrow right)" >
52
+ <button class =" pswp__button pswp__button--arrow--right" title =" Next (arrow right)" @click = ' resetAngle ' >
47
53
</button >
48
54
<div class =" pswp__caption" >
49
55
<div class =" pswp__caption__center" ></div >
85
91
}
86
92
},
87
93
data () {
88
- return {};
94
+ return {
95
+ angle: 0
96
+ };
89
97
},
90
98
mounted () {
91
99
let that = this ;
292
300
293
301
initPhotoSwipeFromDOM (' .my-gallery' );
294
302
303
+ },
304
+ methods: {
305
+ rotate : function (newAngle ) {
306
+ this .angle = this .angle + newAngle
307
+ this .$el .querySelectorAll (' .pswp__img' ).forEach (i => i .style .transform = ` rotate(${ this .angle } deg)` )
308
+ },
309
+ resetAngle : function () {
310
+ this .angle = 0
311
+ this .$el .querySelectorAll (' .pswp__img' ).forEach (i => i .style .transform = ` rotate(${ this .angle } deg)` )
312
+ },
295
313
}
296
314
}
297
315
</script >
298
316
<style >
317
+ @import " https://fonts.googleapis.com/icon?family=Material+Icons" ;
318
+ .pswp__top-bar {
319
+ text-align : right ;
320
+ }
321
+ .rotation-wrapper {
322
+ color : white ;
323
+ position : relative ;
324
+ top : 10px ;
325
+ }
299
326
figure {
300
327
display : inline ;
301
328
margin : 5px ;
302
329
}
303
- </style >
330
+ </style >
0 commit comments