An Ember component providing a region which can be panned and zoomed.
ember install zoom-zone
This addon provides a component called zoom-zone
. This component presents a region than can be panned and zoomed with gestures.
The component will yield itself as the first argument to its block if one is specified.
The following properties are supported in the zoom-zone
component
Property | Read | Write | Default | Purpose |
---|---|---|---|---|
headerTemplate |
✅ | ✅ | null |
Sets a partial to render within the component (so these properties are available), but before the viewport |
footerTemplate |
✅ | ✅ | null |
As above, but after the viewport |
activeViewport |
✅ | ✅ | true |
If set, the viewport will be able to pan and zoom as well |
minScale |
✅ | ✅ | 0.1 | The minimum zoom level |
maxScale |
✅ | ✅ | 5.0 | The maximum zoom level |
increment |
✅ | ✅ | 0.1 | The amount the zoom increments by in the actions (see below) |
scale |
✅ | ✅ | "zoom-to-fit" |
The zoom level (Note that zooming to fit will adjust the panning as well) |
panX |
✅ | ✅ | 0 | The x offset of the content in the viewport |
panY |
✅ | ✅ | 0 | The y offset of the content in the viewport |
centerOnFit |
✅ | ✅ | true |
If set, the content will be centered in the viewport when zooming to fit |
delay |
✅ | ✅ | 250ms | A duration (in ms) to animate zooming caused by the zoomIn and zoomOut events |
originalWidth |
✅ | Width of content | The original width of the zoomed content | |
originalHeight |
✅ | Height of content | The original height of the zoomed content | |
width |
✅ | The current width of the zoomed content | ||
height |
✅ | The current height of the zoomed content |
These actions are available:
zoomTo(scale)
: Sets thescale
to the passed argument (defaults to 1)zoomIn
: Increases thescale
by theincrement
zoomOut
: Decreases thescale
by theincrement
zoomFit
: Sets the scale to the largest value which does fits in both dimensions. Pans such that the entire content is within the viewport (either centered or aligned to the top left based on the value ofcenterOnFit
)
For more information on using ember-cli, visit http://www.ember-cli.com/.
This project is licensed under the MIT License.