in js/index.js [78:102]
_initViewport() {
const viewport = this._props.viewport;
if (_.isString(viewport)) {
return new ElementViewport(this.$(viewport));
} else if (viewport instanceof $) {
if (viewport.get(0) === window) {
return new WindowViewport();
}
return new ElementViewport(viewport);
} else if (viewport instanceof HTMLElement) {
return new ElementViewport(viewport);
} else if (viewport === window) {
return new WindowViewport();
}
let $el = this.$el;
while ($el.length > 0 && !$el.is(document)) {
if (_.contains(['auto', 'scroll'], $el.css('overflowY'))) {
return new ElementViewport($el);
}
$el = $el.parent();
}
return new WindowViewport();
}