File tree Expand file tree Collapse file tree 5 files changed +61
-3
lines changed Expand file tree Collapse file tree 5 files changed +61
-3
lines changed Original file line number Diff line number Diff line change 47
47
<h3 >Attribute</h3 >
48
48
<img class =" image" src =" https://source.unsplash.com/random/500x500" :alt =" t('LTPlugin.Attrs.ImageAlt')"
49
49
:title =" t('LTPlugin.Attrs.ImageTitle')" >
50
+
51
+ <div id =" draggable" draggable @mousedown =" dragStart" @mousemove =" dragMove" @mouseup =" dragEnd" ref =" draggable" :title =" t('LTPlugin.PositionAbsolute')" >
52
+ <h3 >Absolute position</h3 >
53
+ {{ t('LTPlugin.Draggable') }}
54
+ </div >
50
55
</div >
51
56
</div >
52
57
</template >
@@ -66,6 +71,26 @@ const showMeta = computed(() => {
66
71
return null
67
72
})
68
73
74
+ const dragPos = ref <{ x: number , y: number } | null >(null )
75
+ const draggable = ref <HTMLDivElement >()
76
+
77
+ function dragStart(e : MouseEvent ) {
78
+ dragPos .value = {
79
+ x: e .offsetX ,
80
+ y: e .offsetY ,
81
+ }
82
+ }
83
+
84
+ function dragMove(e : MouseEvent ) {
85
+ if (! dragPos .value ) return
86
+ draggable .value ! .style .top = e .pageY - dragPos .value .y + ' px'
87
+ draggable .value ! .style .left = e .pageX - dragPos .value .x + ' px'
88
+ }
89
+
90
+ function dragEnd() {
91
+ dragPos .value = null
92
+ }
93
+
69
94
</script >
70
95
71
96
<style lang="scss" scoped>
@@ -120,4 +145,32 @@ const showMeta = computed(() => {
120
145
width : 80% ;
121
146
border-radius : 8px ;
122
147
}
148
+
149
+ #draggable {
150
+ position : absolute ;
151
+ top : 8px ;
152
+ left : 8px ;
153
+ background : #eeeeeee2 ;
154
+ width : 200px ;
155
+ height : 150px ;
156
+ display : flex ;
157
+ justify-content : center ;
158
+ align-items : center ;
159
+ border-radius : 8px ;
160
+ padding : 1rem ;
161
+ cursor : grab ;
162
+ flex-direction : column ;
163
+
164
+ h3 {
165
+ margin-top : 0 ;
166
+ }
167
+
168
+ & :hover {
169
+ outline : solid 2px #eeeeee ;
170
+ }
171
+
172
+ & :active {
173
+ cursor : grabbing ;
174
+ }
175
+ }
123
176
</style >
Original file line number Diff line number Diff line change 11
11
"PartOne" : " Part one" ,
12
12
"PartTwo" : " Part two" ,
13
13
"ListItemN" : " Item {0}" ,
14
- "MultipleTitle" : " Multiple strings inside one tag"
14
+ "MultipleTitle" : " Multiple strings inside one tag" ,
15
+ "Draggable" : " Drag me around to cover elements" ,
16
+ "PositionAbsolute" : " Position is absolute"
15
17
}
16
18
}
Original file line number Diff line number Diff line change 11
11
"PartOne" : " Első rész" ,
12
12
"PartTwo" : " Második rész" ,
13
13
"ListItemN" : " Elem {0}" ,
14
- "MultipleTitle" : " Több string egy tagen belül"
14
+ "MultipleTitle" : " Több string egy tagen belül" ,
15
+ "Draggable" : " Mozgass egy elem fölé, hogy eltakard azt" ,
16
+ "PositionAbsolute" : " 'absolute' pozíció"
15
17
}
16
18
}
Original file line number Diff line number Diff line change @@ -13,7 +13,7 @@ app.use(LiveTranslatorPlugin, {
13
13
} ,
14
14
persist : true ,
15
15
root : document . getElementById ( 'app' ) ,
16
- refreshRate : 200 ,
16
+ refreshRate : 50 ,
17
17
} )
18
18
19
19
app . mount ( '#app' )
Original file line number Diff line number Diff line change 28
28
place-items : center;
29
29
min-width : 320px ;
30
30
min-height : 100vh ;
31
+ overflow-x : hidden;
31
32
}
32
33
33
34
h1 {
You can’t perform that action at this time.
0 commit comments