Releases: sir-dunxalot/ember-tooltips
Robustness improvements
- #124 - Check if tooltip/popover component is destroyed before trying to set properties on it
- #149 -
lazy-render-wrapper
will now get the correct $target element, which may be different when using<x>-on-component
,<x>-on-element
, and whentarget="some-id"
- #149 - Renamed
entryInteractionEvents
to_lazyRenderEvents
- #149 - Added targetEventNameSpace to keep the code DRY
- #149 -
willDestroyElement
also references$target
to clean up event handlers - #149 - Added an empty
<div>
tosome-component
, which adds extra robustness for-on-component
tests while maintaining the same UI in the dummy site - #149 - Added
render-events-test.js
Test coverage improved plus minor bug fixes
Misc. bug fixes
Public test helpers
- #114 - Public test helpers
- introduces test helpers (assertTooltipNotRendered, assertTooltipRendered, assertTooltipVisible, assertTooltipNotVisible, and triggerTooltipTargetEvent). See documentation here.
- Fixes issue where a tooltip target was
mouseenter
thenmouseleave
before the tooltip could render. This use to cause "sticking tooltips" - Fixes issue where two click events were registered when a user clicked on a tooltip. This produced no UI issues but broke some consuming app's tests
- Under-the-cover event handling and databinding improvements (no UI effect)
- More test coverage
- Tests pass in all scenarios (previously ember-beta and ember-canary were failing)
The test helpers we use within this addon are now available in consuming app's integration and acceptance tests. Here is a real-life example of a consuming app using the helpers.
import { triggerTooltipTargetEvent, assertTooltipNotRendered, assertTooltipRendered, assertTooltipVisible } from 'ember-simple/tests/helpers/ember-tooltips';
moduleForAcceptance('Acceptance | index');
test('visiting / and check tooltip', function(assert) {
visit('/');
andThen(function() {
assert.equal(currentURL(), '/');
const $tooltipTarget = Ember.$('.js-test-ember-tooltip-target');
triggerTooltipTargetEvent($tooltipTarget, 'click');
assertTooltipRendered(assert, {selector: '.js-test-ember-tooltip'});
assertTooltipVisible(assert, {selector: '.js-test-ember-tooltip'});
});
});
Documentation for test helpers exists in the readme.
More test helpers will be added in the future, including checking tooltip content and the tooltip positions. This request is tracked by #128.
Adds text property to tooltips and popovers
- #116 Text property
This release adds the ability to use tooltips and popovers in inline form by passing a text
property with the content of the tooltip/popover instead of using a block template.
Instead of:
You can now write:
Undo bower.json changes
This commit accidentally removed the contents of bower.json
. This patch adds the file content back.
Support extending `tether-<x>-on-<y>`
There are some circumstances where extending the lazy-rendering component (ex tooltip-on-element
) is not ideal. Release 2.4.0 did not support extendingtether-tooltip-on-element
. Release 2.4.1 introduces this functionality.
A 2.4.1 tether-tooltip-on-element
behaves the exact same way as pre-2.4.0 tooltip-on-element
. It doesn't have lazy rendering but supports classNames
, classNameBindings
, this.$()
, etc.
Lazy Rendering Introduction
- Introduces an opt-in for lazy rendering of tooltips and popovers (#104)
- adds lazy-rendering documentation to the README (c41ff9a) and (https://github.com/sir-dunxalot/ember-tooltips#240-release)
- each instance in the demo page uses lazy-rendering (http://sir-dunxalot.github.io/ember-tooltips/)
Lazy-rendering will improve load time for pages with many tooltips and popovers. Tooltip and popovers are only inserted into the dom and rendered when the user interacts with the tooltip/popover target with a click, mouseover, or focusin. To enable this improvements add the enableLazyRendering=true
flag to your components.
enableLazyRendering=true
will be the default behavior in release 3.0.0
Performance improvements
- Disable tethering while tooltips are hidden (#92)
This bring performance improvements to app previously slowed by using ember-tooltips
.
Ember popovers
- [feature] Popover components added (#92)
- [bugfix] Beta and canary tests closer to passing (#98)
- [bugfix] Check for 'isDestoyed' when _showTimer runs (#94)
Popovers
A huge thank you to @a15n for all his hard work implementing ember-popovers.
Usage is outlined in the Readme. Popovers are implemented just like tooltips using the {{popover-on-element}}
and {{popover-on-tooltip}}
components.
There should be no backwards-incompatible changes introduced with this release though several properties have been deprecated.