@v4fire/client
Version:
V4Fire client core library
45 lines (34 loc) • 1.19 kB
Markdown
# core/dom/resize
This module provides an API to track changes in the size of DOM elements using `ResizeObserver`.
## Callbacks
| Name | Description | Payload |
|------------|-----------------------------------------------|-------------------------------------------------|
| `callback` | Invoked when an element size has been changed | `ResizeWatcherObservable`, `newRect`, `oldRect` |
## Usage
### Basic
```typescript
import { ResizeWatcher } from 'core/dom/resize-observer';
export default class bFullScreenView extends iBlock implements iLockPageScroll {
initResizeWatcher(): void {
ResizeWatcher.observe(this.$el, {
callback: () => this.emit('elementResized')
})
}
}
```
### Observe only width changes
```typescript
import { ResizeWatcher } from 'core/dom/resize-observer';
export default class bFullScreenView extends iBlock implements iLockPageScroll {
initResizeWatcher(): void {
ResizeWatcher.observe(this.$el, {
callback: () => this.emit('elementResized'),
watchHeight: false
})
}
}
```