Skip to content

Commit

Permalink
Merge pull request #22 from mike-north/cleanup
Browse files Browse the repository at this point in the history
Cleanup for ember 2.0
  • Loading branch information
mike-north committed Aug 23, 2015
2 parents 9dfcef0 + 9039d40 commit e09b776
Show file tree
Hide file tree
Showing 12 changed files with 69 additions and 45 deletions.
7 changes: 4 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,20 @@ cache:
- node_modules
env:
matrix:
- EMBER_TRY_SCENARIO=default
- EMBER_TRY_SCENARIO=ember-1.10
- EMBER_TRY_SCENARIO=ember-1.11
- EMBER_TRY_SCENARIO=ember-1.12
- EMBER_TRY_SCENARIO=ember-1.13
- EMBER_TRY_SCENARIO=ember-release
- EMBER_TRY_SCENARIO=ember-beta
- EMBER_TRY_SCENARIO=ember-canary
- ALLOW_DEPRECATIONS=true EMBER_TRY_SCENARIO=ember-canary
global:
secure: mlHPZlkzVu5JpCzFNz+o/+DGyI6K2VLh5fY2zoAjuClRazPJ/04tKo8Fxol5U32jpeI6LXJlsyu+lO914q2L0M6+i7iTU1XFeL9PbSdK8IK1AdHWFiJAlli+7eDpkan3FnSg9Y3yjmYrKcaVimVMDmk0GlSiUBOlyic/gEj5uPguC1ACwzFVkwgOrxzUITLg6qtwgYGyJUY8QJb3baoFtZZrpSFqHvzPl2Wr7AIXAcVldl7S5fQUEsQ8gKEa8ZCbCMWvebNXDf8v7C/OwjJnh9awZDcNE5pPavV3mvftDY9QQEulxhhoXowJR/X+1lMcMzgkNtEcDceoRSTHG4z98ASQjsx6aywsZiGaqZlfCvpgkmruXTjCaVPR5lGd1imP+arrxlN6Kn6m+kKdf9KnmV7UIt+Q4lbDsWkNQXNuLC8Ag6okJSPXI3CghxRC8L/NR7iiapjs4SrImTUu9+eJMal93FTWqjQdTkZYWYD5ncKvOzFOX7w+PkmVAH/R8nnuQ+MZwhqi3TO7ieWGcC59mS7BeNokElXSpGUiR+4YahZMNYM27XV8RHXpik8DBvrlHQGtCpNtmZwmNSKR66Y/QgKdL1FJ7XEc+LqeRqkXXe9mEbcfMY7YzWDK1dc4+lFwRq24yxVX0/d40fe4T5CZ5K6RkHODpyHY15CYorEXT0c=

matrix:
fast_finish: true
allow_failures:
- env: EMBER_TRY_SCENARIO=ember-canary
- env: ALLOW_DEPRECATIONS=true EMBER_TRY_SCENARIO=ember-canary

before_install:
- mkdir travis-phantomjs
Expand Down
13 changes: 8 additions & 5 deletions addon/mixins/resize-aware.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import Ember from 'ember';

export default Ember.Mixin.create({
const { Mixin } = Ember;
const { floor } = Math;

export default Mixin.create({
resizeEventsEnabled: true,
resizeDebouncedEventsEnabled: true,

Expand Down Expand Up @@ -39,8 +42,8 @@ export default Ember.Mixin.create({
},

_handleResizeEvent(evt) {
const w = Math.floor(this._getComponentSize().width);
const h = Math.floor(this._getComponentSize().height);
const w = floor(this._getComponentSize().width);
const h = floor(this._getComponentSize().height);
if ((this.get('resizeWidthSensitive') && (this.get('_oldViewWidth') !== w)) ||
(this.get('resizeHeightSensitive') && (this.get('_oldViewHeight') !== h))) {
this.didResize(w, h, evt);
Expand All @@ -52,8 +55,8 @@ export default Ember.Mixin.create({
},

_handleDebouncedResizeEvent(evt) {
const w = Math.floor(this._getComponentSize().width);
const h = Math.floor(this._getComponentSize().height);
const w = floor(this._getComponentSize().width);
const h = floor(this._getComponentSize().height);
if ((this.get('resizeWidthSensitive') && (this.get('_oldViewWidthDebounced') !== w)) ||
(this.get('resizeHeightSensitive') && (this.get('_oldViewHeightDebounced') !== h))) {
this.debouncedDidResize(w, h, evt);
Expand Down
13 changes: 7 additions & 6 deletions addon/services/resize.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,25 @@ import Ember from 'ember';

const Base = Ember.Service || Ember.Object;
const keys = Object.keys || Ember.keys;
const { classify } = Ember.String;

export default Base.extend(Ember.Evented, {
const { Evented, String: { classify }, computed: { oneWay }, run: { debounce } } = Ember;

export default Base.extend(Evented, {
_oldWidth: null,
_oldHeight: null,
_oldWidthDebounced: null,
_oldHeightDebounced: null,

debounceTimeout: Ember.computed.oneWay('defaultDebounceTimeout'),
widthSensitive: Ember.computed.oneWay('defaultWidthSensitive'),
heightSensitive: Ember.computed.oneWay('defaultHeightSensitive'),
debounceTimeout: oneWay('defaultDebounceTimeout'),
widthSensitive: oneWay('defaultWidthSensitive'),
heightSensitive: oneWay('defaultHeightSensitive'),

init() {
this._super(...arguments);
this._setDefaults();
this._onResizeHandler = evt => {
this._fireResizeNotification(evt);
Ember.run.debounce(this, this._fireDebouncedResizeNotification, evt, this.get('debounceTimeout'));
debounce(this, this._fireDebouncedResizeNotification, evt, this.get('debounceTimeout'));
};
this._installResizeListener();
},
Expand Down
4 changes: 3 additions & 1 deletion app/initializers/resize.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import ResizeService from 'ember-resize/services/resize';
import config from '../config/environment';

export function initialize(_container, application) {
export function initialize() {
let application = arguments[1] || arguments[0];

const { resizeServiceDefaults } = config;
const { injectionFactories } = resizeServiceDefaults;

Expand Down
10 changes: 5 additions & 5 deletions bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
"ember-cli-shims": "ember-cli/ember-cli-shims#0.0.3",
"ember-cli-test-loader": "ember-cli-test-loader#0.1.3",
"ember-load-initializers": "ember-cli/ember-load-initializers#0.1.5",
"ember-qunit": "0.4.1",
"ember-qunit": "0.4.9",
"ember-qunit-notifications": "0.0.7",
"ember-resolver": "~0.1.18",
"jquery": "^1.11.1",
"loader.js": "ember-cli/loader.js#3.2.0",
"qunit": "~1.17.1"
"ember-resolver": "mike-north/ember-resolver#new-initializer",
"jquery": "^1.11.3",
"loader.js": "ember-cli/loader.js#3.2.1",
"qunit": "~1.18.0"
}
}
18 changes: 18 additions & 0 deletions config/ember-try.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,24 @@ module.exports = {
ember: '~1.11.0'
}
},
{
name: 'ember-1.12',
dependencies: {
ember: '~1.12.0'
},
resolutions: {
ember: '~1.12.0'
}
},
{
name: 'ember-1.13',
dependencies: {
ember: '~1.13.0'
},
resolutions: {
ember: '~1.13.0'
}
},
{
name: 'ember-release',
dependencies: {
Expand Down
20 changes: 10 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ember-resize",
"version": "0.0.8",
"version": "0.0.9",
"description": "Idiomatically handle window and view resizes in Ember.js",
"directories": {
"doc": "doc",
Expand All @@ -19,21 +19,21 @@
"author": "Mike North <[email protected]> (http://mike.works)",
"license": "MIT",
"devDependencies": {
"broccoli-asset-rev": "^2.0.2",
"ember-cli": "1.13.1",
"ember-cli-app-version": "0.3.5",
"broccoli-asset-rev": "^2.1.2",
"ember-cli": "1.13.8",
"ember-cli-app-version": "0.5.0",
"ember-cli-content-security-policy": "0.4.0",
"ember-cli-dependency-checker": "^1.0.0",
"ember-cli-dependency-checker": "^1.0.1",
"ember-cli-github-pages": "0.0.6",
"ember-cli-htmlbars": "0.7.9",
"ember-cli-ic-ajax": "0.2.1",
"ember-cli-inject-live-reload": "^1.3.0",
"ember-cli-qunit": "0.3.15",
"ember-cli-inject-live-reload": "^1.3.1",
"ember-cli-qunit": "^1.0.0",
"ember-cli-sauce": "1.3.0",
"ember-cli-uglify": "^1.0.1",
"ember-cli-uglify": "^1.2.0",
"ember-disable-prototype-extensions": "^1.0.0",
"ember-disable-proxy-controllers": "^1.0.0",
"ember-export-application-global": "^1.0.2",
"ember-export-application-global": "^1.0.4",
"ember-legacy-views": "0.2.0",
"ember-new-computed": "1.0.0",
"ember-suave": "~0.1.9",
Expand All @@ -44,7 +44,7 @@
"resize"
],
"dependencies": {
"ember-cli-babel": "^5.0.0"
"ember-cli-babel": "^5.1.3"
},
"ember-addon": {
"configPath": "tests/dummy/config",
Expand Down
8 changes: 4 additions & 4 deletions tests/.jshintrc
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,12 @@
"andThen",
"currentURL",
"currentPath",
"currentRouteName",
"QUnit"
"currentRouteName"
],
"node": false,
"browser": false,
"boss": true,
"curly": false,
"curly": true,
"debug": false,
"devel": false,
"eqeqeq": true,
Expand All @@ -48,5 +47,6 @@
"strict": false,
"white": false,
"eqnull": true,
"esnext": true
"esnext": true,
"unused": true
}
4 changes: 2 additions & 2 deletions tests/dummy/app/views/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ export default Ember.View.extend({
resizeEvents: Ember.A([]),
didInsertElement() {
this._super(...arguments);
this.get('resizeService').on('debouncedDidResize', evt => {
this.get('resizeService').on('debouncedDidResize', () => {
this.get('resizeEvents').addObject({
width: window.innerWidth,
height: window.innerHeight,
debounced: true
});
});
this.get('resizeService').on('didResize', evt => {
this.get('resizeService').on('didResize', () => {
this.get('resizeEvents').addObject({
width: window.innerWidth,
height: window.innerHeight,
Expand Down
1 change: 1 addition & 0 deletions tests/dummy/config/environment.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ module.exports = function(environment) {
}

if (environment === 'test') {
ENV.EmberENV.RAISE_ON_DEPRECATION = !process.env['ALLOW_DEPRECATIONS'];
// Testem prefers this...
ENV.baseURL = '/';
ENV.locationType = 'none';
Expand Down
1 change: 0 additions & 1 deletion tests/helpers/start-app.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import Ember from 'ember';
import Application from '../../app';
import Router from '../../router';
import config from '../../config/environment';

export default function startApp(attrs) {
Expand Down
15 changes: 7 additions & 8 deletions tests/unit/services/resize-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ test('it fires "didResize" when the window is resized', function(assert) {

test('it fires "debouncedDidResize" when the window is resized', function(assert) {

QUnit.stop();
window.QUnit.stop();

let service = this.subject({
widthSensitive: false,
Expand All @@ -46,20 +46,19 @@ test('it fires "debouncedDidResize" when the window is resized', function(asser
});

let evt = new window.Event('resize');
let evtCount = 0;

function triggerEvent() {
window.dispatchEvent(evt);
}

for (let i = 0; i < 6; i++) {
Ember.run.next(triggerEvent);
Ember.run.later(triggerEvent, 10);
}

assert.equal(debouncedDidResizeCallCount, 0, 'debouncedDidResize not called yet');
// Ember.run.later(() => {
// assert.equal(debouncedDidResizeCallCount, 1, 'debouncedDidResize called 1 time after 500ms');
// QUnit.start();
// }, 500);
QUnit.start();
Ember.run.later(() => {
assert.equal(debouncedDidResizeCallCount, 1, 'debouncedDidResize called 1 time after 500ms');
window.QUnit.start();
}, 500);

});

0 comments on commit e09b776

Please sign in to comment.