Skip to content

Instantly share code, notes, and snippets.

View poteto's full-sized avatar
🥔
ポテト

lauren poteto

🥔
ポテト
View GitHub Profile
<div class="loading-wrapper">
{{loading-message showLoadingMessages=true}}
</div>
@poteto
poteto / google-maps-infobox-mock.js
Created February 10, 2015 02:40
Mock for `google-maps-infobox` in Jest.js
/* global jest */
var InfoBox = jest.genMockFunction().mockReturnThis();
InfoBox.prototype = jest.genMockFunction();
InfoBox.prototype.createInfoBoxDiv_ = jest.genMockFunction();
InfoBox.prototype.getCloseBoxImg_ = jest.genMockFunction().mockReturnThis();
InfoBox.prototype.addClickHandler_ = jest.genMockFunction();
InfoBox.prototype.getCloseClickHandler_ = jest.genMockFunction().mockReturnThis();
InfoBox.prototype.panBox_ = jest.genMockFunction();
{
"name": "ember-in-viewport",
"version": "0.2.1",
"description": "Detect if an Ember View or Component is in the viewport @ 60FPS",
"directories": {
"doc": "doc",
"test": "tests"
},
"scripts": {
"start": "ember server",
import Ember from 'ember';
import canUseDOM from 'ember-in-viewport/utils/can-use-dom';
import canUseRAF from 'ember-in-viewport/utils/can-use-raf';
import isInViewport from 'ember-in-viewport/utils/is-in-viewport';
import Ember from 'ember';
const { merge } = Ember;
const defaultTolerance = {
top : 0,
left : 0,
bottom : 0,
right : 0
};
const {
get,
set,
setProperties,
computed,
run,
on,
$,
} = Ember;
_setInitialState: on('init', function() {
setProperties(this, {
$viewportCachedEl : undefined,
viewportUseRAF : canUseRAF(),
viewportEntered : false,
viewportSpy : false,
viewportRefreshRate : 100,
viewportTolerance : {
top : 0,
left : 0,
viewportExited: not('viewportEntered').readOnly(),
_setupElement: on('didInsertElement', function() {
if (!canUseDOM) { return; }
const viewportUseRAF = get(this, 'viewportUseRAF');
this._setInitialViewport(window);
this._addObserverIfNotSpying();
this._setViewportEntered(window);
if (!viewportUseRAF) {
_setInitialViewport(context=null) {
Ember.assert('You must pass a valid context to _setInitialViewport', context);
return scheduleOnce('afterRender', this, () => {
this._setViewportEntered(context);
});
},