File tree 4 files changed +11
-19
lines changed
4 files changed +11
-19
lines changed Original file line number Diff line number Diff line change @@ -67,25 +67,17 @@ export default {
67
67
setOffsets () {
68
68
const parent = this .$el .parentElement
69
69
this .parentCoords = parent .getBoundingClientRect ()
70
- this .boundaries .forEach (cover => {
71
- const element = this . getElement ( parent, cover . tag , cover . class )
72
- if (! element || ! cover . sides ) {
70
+ this .boundaries .forEach (({sides, query}) => {
71
+ const element = parent . querySelector (query )
72
+ if (! element || ! sides) {
73
73
return
74
74
}
75
- cover .sides .forEach (side => {
76
- const sideMargin = Math .abs (element[side] - this .parentCoords [side])
75
+ const coords = element .getBoundingClientRect ()
76
+ sides .forEach (side => {
77
+ const sideMargin = Math .abs (coords[side] - this .parentCoords [side])
77
78
this .containerCoords [side] = sideMargin + ' px'
78
79
})
79
80
})
80
- },
81
- getElement (node , tag , styleClass ) {
82
- let element = null
83
- if (styleClass) {
84
- element = node .getElementsByClassName (styleClass)[0 ]
85
- } else if (tag) {
86
- element = node .getElementsByTagName (tag)[0 ]
87
- }
88
- return element ? element .getBoundingClientRect () : null
89
81
}
90
82
}
91
83
}
Original file line number Diff line number Diff line change @@ -16,11 +16,11 @@ const App = localVue.extend({
16
16
boundaries : [
17
17
{
18
18
sides : [ 'top' , 'left' ] ,
19
- class : 'first'
19
+ query : '. first'
20
20
} ,
21
21
{
22
22
sides : [ 'bottom' ] ,
23
- tag : 'non-existing'
23
+ query : 'non-existing'
24
24
} ,
25
25
{
26
26
sides : [ 'bottom' ]
Original file line number Diff line number Diff line change @@ -150,7 +150,7 @@ export declare class CDropdownHeader extends Vue {
150
150
export declare class CDropdownItem extends CLink { }
151
151
152
152
export declare class CElementCover extends Vue {
153
- boundaries : Array < { side : string [ ] , tag ? : string , class ?: string } >
153
+ boundaries : Array < { side : string [ ] , query : string } >
154
154
centered : boolean
155
155
opacity : number
156
156
}
Original file line number Diff line number Diff line change 190
190
<slot name =" loading" v-if =" loading" >
191
191
<CElementCover
192
192
:boundaries =" [
193
- { sides: ['top'], tag : 'TD ' },
194
- { sides: ['bottom'], tag : 'TBODY ' }
193
+ { sides: ['top'], query : 'td ' },
194
+ { sides: ['bottom'], query : 'tbody ' }
195
195
]"
196
196
/>
197
197
</slot >
You can’t perform that action at this time.
0 commit comments