<script>
import Align from '../index'
import BaseMixin from '../../_util/BaseMixin'
export default {
mixins: [BaseMixin],
data () {
return {
monitor: true,
align: {
points: ['tl', 'tc'],
},
}
methods: {
getTarget () {
const ref = this.$refs.container
if (!ref) {
// parent ref not attached
return document.getElementById('container')
return ref
toggleMonitor () {
this.setState({
monitor: !this.$data.monitor,
})
forceAlign () {
this.$refs.align.forceAlign()
render () {
return (
<div
style={{
margin: '50px',
}}
>
<p>
<button onClick={this.forceAlign}>Force align</button>
<label>
<input type='checkbox' checked={this.monitor} onInput={this.toggleMonitor} />
Monitor window resize
</label>
</p>
ref='container'
id='container'
width: '80%',
height: '500px',
border: '1px solid red',
<Align
ref='align'
target={this.getTarget}
monitorWindowResize={this.$data.monitor}
align={this.$data.align}
position: 'absolute',
width: '50px',
height: '50px',
background: 'yellow',
source
</div>
</Align>
)
</script>