Skip to content

Commit 723795b

Browse files
committed
version 1.2.0
replace instace specific event listener with a global one as demonstrated in fastboot docs https://ember-fastboot.com/docs/addon-author-guide
1 parent fbf2c93 commit 723795b

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

addon/mixins/resize-text.js

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
import Mixin from '@ember/object/mixin';
22
import { inject as service } from '@ember/service';
33

4+
let componentsToNotify = [];
5+
let didSetupListener = false;
6+
7+
function setupListener() {
8+
didSetupListener = true;
9+
window.addEventListener('resize', () => {
10+
componentsToNotify.forEach(c => {
11+
c.scaleFont();
12+
});
13+
}, false);
14+
}
15+
416
export default Mixin.create({
517

618
classNames: ['resize-text'],
@@ -11,15 +23,21 @@ export default Mixin.create({
1123
textMeasurer: service(),
1224

1325
didInsertElement() {
14-
this._super(...arguments);
15-
window.addEventListener('resize', this.set('_resizeHandler', this.scaleFont.bind(this)), false);
26+
if (!didSetupListener) {
27+
setupListener();
28+
}
29+
componentsToNotify.push(this);
1630
this.element.style['white-space'] = 'nowrap';
1731
this.scaleFont();
1832
},
1933

20-
willDestroyElement: function() {
21-
this._super(...arguments);
22-
window.removeEventListener('resize', this.get('_resizeHandler'), false);
34+
willDestroy() {
35+
for (let i = 0; i < componentsToNotify.length; i++) {
36+
if (componentsToNotify[i] === this) {
37+
componentsToNotify.splice(i, 1);
38+
break;
39+
}
40+
}
2341
},
2442

2543
scaleFont() {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ember-resize-text",
3-
"version": "1.1.2",
3+
"version": "1.2.0",
44
"description": "ember addon that makes use of ember-text-measurer to efficiently resize the font of a single line of text to make it fit",
55
"keywords": [
66
"ember-addon",

0 commit comments

Comments
 (0)