Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

ember-maybe-in-element

DockYard248.7kMIT2.1.0

Ember AST transform for the in-element helper

ember-addon, in-element, wormhole, portal

readme

ember-maybe-in-element

This addon exposes the construct {{#maybe-in-element el renderInPlace insertBefore=null}}The block{{/maybe-in-element}} to the contained block somewhere else in the page.

Compatibility

  • Ember.js v3.16 or above
  • Ember CLI v2.13 or above
  • Node.js v10 or above

The code

{{#maybe-in-element el renderInPlace insertBefore=null}}The block{{/maybe-in-element}}

becomes equivalent to:

{{#if renderInPlace}}The block{{else}}{{#in-element el insertBefore=null}}The block{{/in-element}}{{/if}}

Motivation

Although nothing prevents you from achieving the same thing by manually typing the expanded handlebars code yourself, having two identical blocks is an invitation to forget to update one and introduce unwanted differences between both. Also, less typing!

Installation

The addon uses ember-in-element-polyfill, so its support matrix is the same (2.10+ at the time of this writing)

  • Run ember install ember-maybe-in-element

Be aware that if you intend to use this addon from within another addon, you must move it from devDependencies to dependencies in your package.json.

DockYard, Inc © 2017

@dockyard

Licensed under the MIT license

changelog

2.0.1

Add support to Ember >= 3.13

2.0.0

Convert addon from a 100% AST approach to a runtime glimmer component named <MaybeInElement @destinationElement={{foo}} @renderInPlace={{bar}}> and a AST transform that allows us to invoke that component as {{#maybe-in-element foo bar}}.