Skip to content

Commit 978812f

Browse files
authored
Merge pull request #75 from rwjblue/use-document-service-correctly
Fix some issues with Glimmer2 usage.
2 parents 87acb6d + 0cae8b0 commit 978812f

File tree

4 files changed

+17
-9
lines changed

4 files changed

+17
-9
lines changed

.travis.yml

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ env:
1414
- EMBER_TRY_SCENARIO=1.13.13
1515
- EMBER_TRY_SCENARIO=2.0.3
1616
- EMBER_TRY_SCENARIO=2.4.5
17+
- EMBER_TRY_SCENARIO=2.8
1718
- EMBER_TRY_SCENARIO=ember-release
1819
- EMBER_TRY_SCENARIO=ember-beta
1920
- EMBER_TRY_SCENARIO=ember-canary

addon/components/ember-wormhole.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default Component.extend({
2525
if (!id) {
2626
return null;
2727
}
28-
return findElementById(this._dom.document, id);
28+
return findElementById(this._dom, id);
2929
}),
3030
renderInPlace: false,
3131

@@ -38,8 +38,8 @@ export default Component.extend({
3838
this._dom = getDOM(this);
3939

4040
// Create text nodes used for the head, tail
41-
this._wormholeHeadNode = this._dom.document.createTextNode('');
42-
this._wormholeTailNode = this._dom.document.createTextNode('');
41+
this._wormholeHeadNode = this._dom.createTextNode('');
42+
this._wormholeTailNode = this._dom.createTextNode('');
4343

4444
// A prop to help in the mocking of didInsertElement timing for Fastboot
4545
this._didInsert = false;

addon/utils/dom.js

+7-6
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,15 @@ export function findElementById(doc, id) {
4646
// Private Ember API usage. Get the dom implementation used by the current
4747
// renderer, be it native browser DOM or Fastboot SimpleDOM
4848
export function getDOM(context) {
49-
let container = getOwner ? getOwner(context) : context.container;
49+
let container = getOwner ? getOwner(context) : context.container;
50+
let documentService = container.lookup('service:-document');
51+
52+
if (documentService) { return documentService; }
53+
5054
let renderer = container.lookup('renderer:-dom');
51-
var domForAppWithGlimmer2 = container.lookup('service:-document');
5255

53-
if (renderer._dom) { // pre glimmer2
54-
return renderer._dom;
55-
} else if (domForAppWithGlimmer2) { // glimmer2
56-
return domForAppWithGlimmer2;
56+
if (renderer._dom && renderer._dom.document) { // pre Ember 2.6
57+
return renderer._dom.document;
5758
} else {
5859
throw new Error('ember-wormhole could not get DOM');
5960
}

config/ember-try.js

+6
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ module.exports = {
2222
'ember': '2.4.5'
2323
}
2424
},
25+
{
26+
name: '2.8',
27+
dependencies: {
28+
'ember': '~2.8.0'
29+
}
30+
},
2531
{
2632
name: 'ember-release',
2733
dependencies: {

0 commit comments

Comments
 (0)