Skip to content

Commit 8e29d02

Browse files
authored
Merge pull request #25 from elwayman02/fastboot
Fastboot Compatibility
2 parents e66da85 + 44495f5 commit 8e29d02

File tree

4 files changed

+15
-5
lines changed

4 files changed

+15
-5
lines changed

addon/mixins/component-interactivity.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import Mixin from '@ember/object/mixin';
55
import { assign } from '@ember/polyfills';
66
import { bind } from '@ember/runloop';
77
import { inject as injectService } from '@ember/service';
8+
import IsFastbootMixin from 'ember-is-fastboot/mixins/is-fastboot';
89
import getConfig from 'ember-interactivity/utils/config';
910
import { getTimeAsFloat } from 'ember-interactivity/utils/date';
1011
import {
@@ -19,7 +20,7 @@ import { getOwner } from '@ember/application';
1920
*
2021
* In your component, you MUST call `reportInteractive` or define `isInteractive`.
2122
*/
22-
export default Mixin.create({
23+
export default Mixin.create(IsFastbootMixin, {
2324
interactivity: injectService(),
2425
interactivityTracking: injectService(),
2526
fastboot: computed(function() {
@@ -182,7 +183,8 @@ export default Mixin.create({
182183
return;
183184
}
184185
let options = getConfig(this);
185-
if (options.timelineMarking && (options.timelineMarking.disableComponents || (options.timelineMarking.disableLeafComponents && !this._isSubscriber()))) {
186+
if (options.timelineMarking && (options.timelineMarking.disableComponents ||
187+
(options.timelineMarking.disableLeafComponents && !this._isSubscriber())) || this.get('_isFastBoot')) {
186188
return;
187189
}
188190

addon/mixins/route-interactivity.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Mixin from '@ember/object/mixin';
44
import { assign } from '@ember/polyfills';
55
import { bind, run } from '@ember/runloop';
66
import { inject as injectService } from '@ember/service';
7+
import IsFastbootMixin from 'ember-is-fastboot/mixins/is-fastboot';
78
import getConfig from 'ember-interactivity/utils/config';
89
import { getTimeAsFloat } from 'ember-interactivity/utils/date';
910
import { INITIALIZING_LABEL, INTERACTIVE_LABEL, markTimeline } from 'ember-interactivity/utils/timeline-marking';
@@ -19,7 +20,7 @@ let hasFirstTransitionCompleted = false;
1920
* 2.) execute (i.e. we are executing the transition by activating the route and scheduling render tasks)
2021
* 3.) interactive (i.e. we have completed the transition and the route is now interactive)
2122
*/
22-
export default Mixin.create({
23+
export default Mixin.create(IsFastbootMixin, {
2324
interactivity: injectService(),
2425
interactivityTracking: injectService(),
2526
visibility: injectService(),
@@ -137,7 +138,7 @@ export default Mixin.create({
137138
let time = getTimeAsFloat();
138139
data = {
139140
isAppLaunch: true,
140-
timeElapsed: (time*1000) - window.performance.timing.fetchStart,
141+
timeElapsed: (time*1000) - performance.timing.fetchStart,
141142
clientTime: time
142143
};
143144
}
@@ -201,7 +202,7 @@ export default Mixin.create({
201202
}
202203
let options = getConfig(this);
203204

204-
if ((options.timelineMarking && options.timelineMarking.disableRoutes) || !this._isLeafRoute()) {
205+
if ((options.timelineMarking && options.timelineMarking.disableRoutes) || !this._isLeafRoute() || this.get('_isFastBoot')) {
205206
return;
206207
}
207208

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"dependencies": {
2525
"ember-cli-babel": "^6.6.0",
2626
"ember-cli-htmlbars": "^2.0.1",
27+
"ember-is-fastboot": "^0.1.1",
2728
"ember-is-visible": "^0.1.2"
2829
},
2930
"devDependencies": {

yarn.lock

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2426,6 +2426,12 @@ ember-getowner-polyfill@^2.0.0:
24262426
ember-cli-version-checker "^2.1.0"
24272427
ember-factory-for-polyfill "^1.3.1"
24282428

2429+
ember-is-fastboot@^0.1.1:
2430+
version "0.1.1"
2431+
resolved "https://registry.yarnpkg.com/ember-is-fastboot/-/ember-is-fastboot-0.1.1.tgz#3af2e11ffac81ce0715b3b2c84f910a1f631bfe4"
2432+
dependencies:
2433+
ember-cli-babel "^6.6.0"
2434+
24292435
ember-is-visible@^0.1.2:
24302436
version "0.1.2"
24312437
resolved "https://registry.yarnpkg.com/ember-is-visible/-/ember-is-visible-0.1.2.tgz#bc1e8c4b8c10024b9e0e2ffc3d9aae97b376d33d"

0 commit comments

Comments
 (0)