Skip to content

Commit

Permalink
move findElem to util
Browse files Browse the repository at this point in the history
  • Loading branch information
snewcomer committed Feb 8, 2018
1 parent 82bd935 commit f4a266a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 19 deletions.
24 changes: 5 additions & 19 deletions addon/mixins/in-viewport.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { not } from '@ember/object/computed';
import { getOwner } from '@ember/application';
import canUseDOM from 'ember-in-viewport/utils/can-use-dom';
import canUseRAF from 'ember-in-viewport/utils/can-use-raf';
import findElem from 'ember-in-viewport/utils/find-elem';
import canUseIntersectionObserver from 'ember-in-viewport/utils/can-use-intersection-observer';
import isInViewport from 'ember-in-viewport/utils/is-in-viewport';
import checkScrollDirection from 'ember-in-viewport/utils/check-scroll-direction';
Expand Down Expand Up @@ -218,7 +219,7 @@ export default Mixin.create({
assert('sensitivity cannot be 0', sensitivity);

const contextEl = get(this, 'scrollableArea') || window;
let elem = this._findElem(contextEl);
let elem = findElem(contextEl);

elem.addEventListener('scroll', () => {
this._debouncedEventHandler('_triggerDidScrollDirection', elem, sensitivity);
Expand All @@ -229,7 +230,7 @@ export default Mixin.create({
const elementId = get(this, 'elementId');

const context = get(this, 'scrollableArea') || window;
let elem = this._findElem(context);
let elem = findElem(context);

elem.removeEventListener('scroll', () => {
this._debouncedEventHandler('_triggerDidScrollDirection', elem, get(this, 'viewportScrollSensitivity'));
Expand All @@ -242,7 +243,7 @@ export default Mixin.create({
assert('You must pass a valid context to _bindListeners', context);
assert('You must pass a valid event to _bindListeners', event);

let elem = this._findElem(context);
let elem = findElem(context);

elem.addEventListener(event, () => {
this._debouncedEventHandler('_setViewportEntered');
Expand All @@ -263,27 +264,12 @@ export default Mixin.create({
let { context, event } = listener;
context = get(this, 'scrollableArea') || context;

let elem = this._findElem(context);
let elem = findElem(context);
elem.removeEventListener(event, () => {
this._debouncedEventHandler('_setViewportEntered');
});
});

this._unbindScrollDirectionListener();
},

_findElem(context) {
let elem;
if (
context.nodeType === Node.ELEMENT_NODE ||
context.nodeType === Node.DOCUMENT_NODE ||
context instanceof Window
) {
elem = context
} else {
elem = document.querySelector(context);
}

return elem;
}
});
14 changes: 14 additions & 0 deletions addon/utils/find-elem.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
export default function(context) {
let elem;
if (
context.nodeType === Node.ELEMENT_NODE ||
context.nodeType === Node.DOCUMENT_NODE ||
context instanceof Window
) {
elem = context
} else {
elem = document.querySelector(context);
}

return elem;
}

0 comments on commit f4a266a

Please sign in to comment.