Skip to content

Commit 319f882

Browse files
committed
Attempt protection from out of loop issues
1 parent 7318953 commit 319f882

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

addon/-private/modifier.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import Modifier, { ModifierArgs } from 'ember-modifier';
22
import { observeResize } from 'ember-resize-observer-modifier/modifiers/observe-resize';
33
import { action } from '@ember/object';
4+
import window from 'ember-window-mock';
45

56
interface Args extends ModifierArgs {
67
positional: [];
@@ -223,8 +224,12 @@ export default class ElementQueryModifier extends Modifier<Args> {
223224
// -------------------
224225

225226
@action didResizeHandler(): void {
226-
this.applyAttributesToElement();
227-
this.callOnResize();
227+
window.requestAnimationFrame(() => {
228+
if (!this.isDestroying && !this.isDestroyed) {
229+
this.applyAttributesToElement();
230+
this.callOnResize();
231+
}
232+
});
228233
}
229234

230235
// -------------------

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
"ember-cli-htmlbars": "^4.3.1",
3232
"ember-cli-typescript": "^3.1.4",
3333
"ember-modifier": "^1.0.3",
34-
"ember-resize-observer-modifier": "^1.1.0"
34+
"ember-resize-observer-modifier": "^1.1.0",
35+
"ember-window-mock": "^0.6.0"
3536
},
3637
"devDependencies": {
3738
"@ember/optional-features": "^1.3.0",

yarn.lock

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4643,7 +4643,7 @@ ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.16.0, ember-cli-babel@^6.6.0,
46434643
ember-cli-version-checker "^2.1.2"
46444644
semver "^5.5.0"
46454645

4646-
ember-cli-babel@^7.0.0, ember-cli-babel@^7.10.0, ember-cli-babel@^7.11.0, ember-cli-babel@^7.11.1, ember-cli-babel@^7.12.0, ember-cli-babel@^7.18.0, ember-cli-babel@^7.19.0, ember-cli-babel@^7.7.3:
4646+
ember-cli-babel@^7.0.0, ember-cli-babel@^7.10.0, ember-cli-babel@^7.11.0, ember-cli-babel@^7.11.1, ember-cli-babel@^7.12.0, ember-cli-babel@^7.13.0, ember-cli-babel@^7.18.0, ember-cli-babel@^7.19.0, ember-cli-babel@^7.7.3:
46474647
version "7.21.0"
46484648
resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-7.21.0.tgz#c79e888876aee87dfc3260aee7cb580b74264bbc"
46494649
integrity sha512-jHVi9melAibo0DrAG3GAxid+29xEyjBoU53652B4qcu3Xp58feZGTH/JGXovH7TjvbeNn65zgNyoV3bk1onULw==
@@ -4702,7 +4702,7 @@ ember-cli-htmlbars-inline-precompile@^2.1.0:
47024702
heimdalljs-logger "^0.1.9"
47034703
silent-error "^1.1.0"
47044704

4705-
ember-cli-htmlbars@^4.3.1:
4705+
ember-cli-htmlbars@^4.2.0, ember-cli-htmlbars@^4.3.1:
47064706
version "4.3.1"
47074707
resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-4.3.1.tgz#4af8adc21ab3c4953f768956b7f7d207782cb175"
47084708
integrity sha512-CW6AY/yzjeVqoRtItOKj3hcYzc5dWPRETmeCzr2Iqjt5vxiVtpl0z5VTqHqIlT5fsFx6sGWBQXNHIe+ivYsxXQ==
@@ -5246,6 +5246,15 @@ ember-try@^1.4.0:
52465246
rsvp "^4.7.0"
52475247
walk-sync "^1.1.3"
52485248

5249+
ember-window-mock@^0.6.0:
5250+
version "0.6.0"
5251+
resolved "https://registry.yarnpkg.com/ember-window-mock/-/ember-window-mock-0.6.0.tgz#3195b0c5704df8b5ef2ffcfd69f6255058db3080"
5252+
integrity sha512-c6hZhM7HnOMpPIxUlGkvQ5DHL4lVwfbRv7auPVZ6iv1fGphYBor8/s3PdH7IDkG/wcElz7KCkZ33EdpaQbwbDw==
5253+
dependencies:
5254+
broccoli-funnel "^2.0.1"
5255+
ember-cli-babel "^7.13.0"
5256+
ember-cli-htmlbars "^4.2.0"
5257+
52495258
emit-function@0.0.2:
52505259
version "0.0.2"
52515260
resolved "https://registry.yarnpkg.com/emit-function/-/emit-function-0.0.2.tgz#e3a50b3d61be1bf8ca88b924bf713157a5bec124"

0 commit comments

Comments
 (0)