Skip to content

Commit 3cd64d5

Browse files
authored
Merge pull request #61 from yappbox/update-dependencies
Update dependencies
2 parents fa388b3 + 872323d commit 3cd64d5

File tree

23 files changed

+2261
-1255
lines changed

23 files changed

+2261
-1255
lines changed

addon/components/collection-scroll-view/collection-items/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* eslint-disable ember/no-component-lifecycle-hooks */
2+
/* eslint-disable ember/no-side-effects */
13
import { A } from '@ember/array';
24
import Component from '@glimmer/component';
35
import identity from 'ember-collection/utils/identity';

addon/components/collection-scroll-view/index.js

Lines changed: 4 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,12 @@
11
import Component from '@glimmer/component';
22
import { reads } from 'macro-decorators';
3-
import { cached, tracked } from '@glimmer/tracking';
3+
import { cached } from 'ember-cached-decorator-polyfill';
4+
import { tracked } from '@glimmer/tracking';
45
import { action } from '@ember/object';
56
import { next, schedule } from '@ember/runloop';
67

7-
// import { argument } from '@ember-decorators/argument';
8-
// import { Action, optional } from '@ember-decorators/argument/types';
9-
108
/* A component which integrates a ScrollView with ember-collection */
119
export default class CollectionScrollView extends Component {
12-
// @argument('any')
13-
// auxiliaryComponent;
14-
//
15-
// @argument(optional(Action))
16-
// scrolledToTopChange;
17-
//
18-
// @argument(optional('number'))
19-
// scrollTopOffset;
20-
@reads('args.scrollTopOffset', 0) scrollTopOffset;
21-
22-
// @argument(optional('number'))
23-
// initialScrollTop;
24-
//
25-
// @argument(optional('string'))
26-
// key;
27-
//
28-
// @argument(optional('any'))
29-
// revealService;
30-
//
31-
// @argument('any')
32-
// items;
33-
//
34-
// @argument(optional('any'))
35-
// buffer;
36-
3710
element;
3811

3912
@tracked headerDimensions;
@@ -76,7 +49,8 @@ export default class CollectionScrollView extends Component {
7649
return Math.max(0, headerHeight - scrollTop);
7750
}
7851

79-
@action updateHeaderDimensions(scrollViewApi, entry) {
52+
@action
53+
updateHeaderDimensions(scrollViewApi, entry) {
8054
let isFirstMeasure = !this.headerDimensions;
8155
this.headerDimensions = { width: entry.contentRect.width, height: entry.contentRect.height };
8256

addon/components/scroll-view.js

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
/* global Ember, Scroller */
1+
/* global Scroller */
22
import Component from '@glimmer/component';
33
import { tracked } from '@glimmer/tracking';
4-
import { action, computed } from '@ember/object';
4+
import { action } from '@ember/object';
55
import { inject as service } from '@ember/service';
66
// import { argument } from '@ember-decorators/argument';
77
// import { Action, optional } from '@ember-decorators/argument/types';
@@ -14,7 +14,11 @@ import { timeout } from 'ember-concurrency';
1414
import { task } from 'ember-concurrency-decorators';
1515
import ScrollViewApi from 'yapp-scroll-view/utils/scroll-view-api';
1616
import { DEBUG } from '@glimmer/env';
17-
import { registerWaiter, unregisterWaiter } from '@ember/test';
17+
import { buildWaiter } from '@ember/test-waiters';
18+
import Ember from 'ember';
19+
import { cached } from 'ember-cached-decorator-polyfill';
20+
21+
let waiter = buildWaiter('yapp-scroll-view:scrolling');
1822

1923
const FIELD_REGEXP = /input|textarea|select/i;
2024
const MEASUREMENT_INTERVAL = 250;
@@ -121,9 +125,6 @@ class ScrollView extends Component {
121125
this.setupScroller();
122126
this.measurementTask.perform();
123127
this.bindScrollerEvents(element);
124-
if (DEBUG) {
125-
registerWaiter(this, this._isScrollingForWaiter);
126-
}
127128
this.onKeyUpdated();
128129
}
129130

@@ -152,7 +153,6 @@ class ScrollView extends Component {
152153
if (Ember.testing) {
153154
window.SIMULATE_SCROLL_VIEW_MEASUREMENT_LOOP = null;
154155
}
155-
unregisterWaiter(this, this._isScrollingForWaiter);
156156
}
157157
}
158158

@@ -534,7 +534,7 @@ class ScrollView extends Component {
534534
}
535535
}
536536

537-
@computed
537+
@cached
538538
get scrollViewApi() {
539539
return ScrollViewApi.create({
540540
_scrollComponent: this,
@@ -558,7 +558,14 @@ class ScrollView extends Component {
558558
});
559559
}
560560

561+
_waiterToken;
561562
_trackIsScrollingForWaiter(isScrolling) {
563+
if (isScrolling && !this._waiterToken) {
564+
this._waiterToken = waiter.beginAsync();
565+
} else if (!isScrolling && this._waiterToken) {
566+
waiter.endAsync(this._waiterToken);
567+
this._waiterToken = undefined;
568+
}
562569
this._lastIsScrolling = isScrolling;
563570
}
564571

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
import Service from "@ember/service";
22

3-
export default Service.extend({
4-
});
3+
export default class extends Service {
4+
}

addon/utils/scroll-view-api.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable ember/no-classic-classes */
12
import Evented from '@ember/object/evented';
23
import EmberObject from '@ember/object';
34

package.json

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -27,67 +27,68 @@
2727
},
2828
"dependencies": {
2929
"@ember/render-modifiers": "^1.0.2",
30-
"@glimmer/tracking": "^1.0.2",
31-
"broccoli-stew": "^2.1.0",
30+
"@glimmer/tracking": "^1.0.4",
31+
"broccoli-stew": "^3.0.0",
3232
"ember-auto-import": "^1.6.0",
33-
"ember-cached-decorator-polyfill": "^0.1.0",
34-
"ember-cli-babel": "7.22.1",
35-
"ember-cli-htmlbars": "^5.3.1",
36-
"ember-composable-helpers": "^4.3.0",
37-
"ember-concurrency-decorators": "^2.0.0",
38-
"ember-concurrency": "^1.2.1",
39-
"ember-decorators": "^6.1.1",
40-
"ember-named-blocks-polyfill": "^0.2.3",
33+
"ember-cached-decorator-polyfill": "^0.1.3",
34+
"ember-cli-babel": "7.26.6",
35+
"ember-cli-htmlbars": "^5.7.1",
36+
"ember-composable-helpers": "^4.4.1",
37+
"ember-concurrency": "^2.0.3",
38+
"ember-concurrency-decorators": "^2.0.3",
39+
"ember-named-blocks-polyfill": "^0.2.4",
4140
"ember-on-resize-modifier": "^0.3.0",
4241
"ember-ref-modifier": "^1.0.1",
43-
"ember-render-helpers": "^0.1.1",
42+
"ember-render-helpers": "^0.2.0",
4443
"ember-resize-observer-polyfill": "^0.0.1",
45-
"ember-set-helper": "^1.1.0",
44+
"ember-set-helper": "^2.0.1",
4645
"ember-truth-helpers": "^3.0.0",
4746
"hammerjs": "^2.0.8",
4847
"macro-decorators": "^0.1.2"
4948
},
5049
"devDependencies": {
51-
"@babel/core": "^7.10.2",
50+
"@babel/core": "^7.14.3",
5251
"@ember/optional-features": "^2.0.0",
53-
"@glimmer/component": "^1.0.2",
52+
"@ember/test-helpers": "^2.2.5",
53+
"@ember/test-waiters": "^2.4.4",
54+
"@glimmer/component": "^1.0.4",
5455
"babel-eslint": "^10.1.0",
5556
"broccoli-asset-rev": "^3.0.0",
56-
"ember-cli": "~3.22.0",
57+
"ember-cli": "~3.26.1",
5758
"ember-cli-dependency-checker": "^3.2.0",
5859
"ember-cli-deploy": "^1.0.2",
5960
"ember-cli-deploy-build": "^2.0.0",
60-
"ember-cli-deploy-git": "^1.3.3",
61+
"ember-cli-deploy-git": "^1.3.4",
6162
"ember-cli-inject-live-reload": "^2.0.2",
6263
"ember-cli-sass": "^10.0.1",
6364
"ember-cli-sri": "^2.1.1",
64-
"ember-cli-terser": "^4.0.0",
65+
"ember-cli-terser": "^4.0.2",
6566
"ember-collection": "1.0.0",
66-
"ember-decorators-polyfill": "^1.1.5",
6767
"ember-disable-prototype-extensions": "^1.1.3",
6868
"ember-export-application-global": "^2.0.1",
69-
"ember-load-initializers": "^2.1.1",
69+
"ember-load-initializers": "^2.1.2",
7070
"ember-maybe-import-regenerator": "^0.1.6",
71-
"ember-qunit": "^4.6.0",
71+
"ember-qunit": "^5.1.4",
7272
"ember-resolver": "^8.0.2",
73-
"ember-simulant-test-helpers": "^0.3.1",
74-
"ember-source": "~3.22.0",
73+
"ember-simulant-test-helpers": "^0.3.2",
74+
"ember-source": "~3.26.0",
7575
"ember-source-channel-url": "^3.0.0",
76-
"ember-template-lint": "^2.14.0",
76+
"ember-template-lint": "^3.4.2",
7777
"ember-try": "^1.4.0",
78-
"eslint": "^7.11.0",
79-
"eslint-plugin-ember": "^9.3.0",
78+
"eslint": "^7.26.0",
79+
"eslint-plugin-ember": "^10.4.2",
8080
"eslint-plugin-node": "^11.1.0",
81-
"layout-bin-packer": "^1.2.0",
81+
"layout-bin-packer": "~1.4.0",
8282
"loader.js": "^4.7.0",
8383
"npm-run-all": "^4.1.5",
84-
"qunit-dom": "^1.5.0",
85-
"release-it": "^13.6.2",
86-
"release-it-lerna-changelog": "^2.3.0",
87-
"sass": "^1.26.8"
84+
"qunit": "^2.15.0",
85+
"qunit-dom": "^1.6.0",
86+
"release-it": "^14.6.2",
87+
"release-it-lerna-changelog": "^3.1.0",
88+
"sass": "^1.33.0"
8889
},
8990
"engines": {
90-
"node": "10.* || >= 12"
91+
"node": "12.* || >= 14"
9192
},
9293
"publishConfig": {
9394
"registry": "https://registry.npmjs.org"
@@ -116,5 +117,9 @@
116117
"npm": {
117118
"publish": false
118119
}
120+
},
121+
"volta": {
122+
"node": "14.17.0",
123+
"yarn": "1.22.10"
119124
}
120125
}

tests/dummy/app/controllers/images.js

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import Controller from '@ember/controller';
2+
import { tracked } from '@glimmer/tracking';
3+
import { action } from '@ember/object';
24

35
function shuffle(array) {
46
var currentIndex = array.length, temporaryValue, randomIndex ;
@@ -19,23 +21,24 @@ function shuffle(array) {
1921
return array;
2022
}
2123

22-
export default Controller.extend({
23-
itemWidth: 200,
24-
itemHeight: 100,
25-
containerWidth: 300,
26-
containerHeight: 600,
24+
export default class extends Controller {
25+
@tracked itemWidth = 200;
26+
@tracked itemHeight = 100;
27+
@tracked containerWidth = 300;
28+
@tracked containerHeight = 600;
2729

28-
actions: {
29-
updateContainerWidth: function(value) {
30-
this.set('containerWidth', parseInt(value, 10));
31-
},
32-
33-
updateContainerHeight: function(value) {
34-
this.set('containerHeight', parseInt(value, 10));
35-
},
30+
@action
31+
updateContainerWidth(value) {
32+
this.containerWidth = parseInt(value, 10);
33+
}
34+
35+
@action
36+
updateContainerHeight(value) {
37+
this.containerHeight = parseInt(value, 10);
38+
}
3639

37-
shuffle: function() {
38-
this.set('model', shuffle(this.get('model').slice(0)));
39-
}
40+
@action
41+
shuffle() {
42+
this.model = shuffle(this.model.slice(0));
4043
}
41-
});
44+
}

0 commit comments

Comments
 (0)