Skip to content

Commit

Permalink
Merge pull request #222 from adopted-ember-addons/update-layout-bin-p…
Browse files Browse the repository at this point in the history
…acker

Update to latest layout-bin-packer
  • Loading branch information
lukemelia authored Nov 1, 2023
2 parents 279a755 + 07c1779 commit fc7a99e
Show file tree
Hide file tree
Showing 22 changed files with 1,186 additions and 1,582 deletions.
6 changes: 5 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
module.exports = {
root: true,
parser: 'babel-eslint',
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module'
sourceType: 'module',
ecmaFeatures: {
legacyDecorators: true,
},
},
plugins: [
'ember'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ concurrency:
cancel-in-progress: true

env:
NODE_VERSION: 14
NODE_VERSION: 16

jobs:

Expand Down
39 changes: 20 additions & 19 deletions addon/components/ember-collection.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { A } from '@ember/array';
import Component from '@ember/component';
import { set, get } from '@ember/object';
import { action, set, get } from '@ember/object';
import layout from './ember-collection/template';
import identity from '../utils/identity';
import needsRevalidate from '../utils/needs-revalidate';
Expand Down Expand Up @@ -222,26 +222,27 @@ export default Component.extend({
return !this._renderNode;
},

actions: {
scrollChange(scrollLeft, scrollTop) {
if (this._scrollChange) {
this._scrollChange(scrollLeft, scrollTop);
} else {
if (scrollLeft !== this._scrollLeft ||
scrollTop !== this._scrollTop) {
set(this, '_scrollLeft', scrollLeft);
set(this, '_scrollTop', scrollTop);
this._needsRevalidate();
}
}
},
clientSizeChange(clientWidth, clientHeight) {
if (this._clientWidth !== clientWidth ||
this._clientHeight !== clientHeight) {
set(this, '_clientWidth', clientWidth);
set(this, '_clientHeight', clientHeight);
@action
scrollChange(scrollLeft, scrollTop) {
if (this._scrollChange) {
this._scrollChange(scrollLeft, scrollTop);
} else {
if (scrollLeft !== this._scrollLeft ||
scrollTop !== this._scrollTop) {
set(this, '_scrollLeft', scrollLeft);
set(this, '_scrollTop', scrollTop);
this._needsRevalidate();
}
}
},

@action
clientSizeChange(clientWidth, clientHeight) {
if (this._clientWidth !== clientWidth ||
this._clientHeight !== clientHeight) {
set(this, '_clientWidth', clientWidth);
set(this, '_clientHeight', clientHeight);
this._needsRevalidate();
}
}
});
4 changes: 2 additions & 2 deletions addon/components/ember-collection/template.hbs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{{#ember-native-scrollable content-size=this._contentSize scroll-left=this._scrollLeft scroll-top=this._scrollTop scrollChange=(action "scrollChange") clientSizeChange=(action "clientSizeChange")}}
<EmberNativeScrollable @content-size={{this._contentSize}} @scroll-left={{this._scrollLeft}} @scroll-top={{this._scrollTop}} @scrollChange={{this.scrollChange}} @clientSizeChange={{this.clientSizeChange}}>
<div>
{{~#each this._cells as |cell|~}}
<div style={{{cell.style}}}>{{yield cell.item cell.index }}</div>
{{~/each~}}
</div>
{{/ember-native-scrollable}}
</EmberNativeScrollable>
17 changes: 6 additions & 11 deletions config/ember-try.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,6 @@ module.exports = async function() {
}
}
},
{
name: 'ember-lts-4.4',
npm: {
devDependencies: {
'ember-source': '~4.4.0'
}
}
},
{
name: 'ember-lts-4.8',
npm: {
Expand All @@ -44,22 +36,25 @@ module.exports = async function() {
devDependencies: {
'ember-source': await getChannelURL('release')
}
}
},
allowedToFail: true
},
{
name: 'ember-beta',
npm: {
devDependencies: {
'ember-source': await getChannelURL('beta')
}
}
},
allowedToFail: true
},
{
name: 'ember-canary',
npm: {
devDependencies: {
'ember-source': await getChannelURL('canary')
}
},
allowedToFail: true
}
},
// The default `.travis.yml` runs this scenario via `npm test`,
Expand Down
11 changes: 6 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,15 @@
"dependencies": {
"ember-cli-babel": "^7.26.6",
"ember-cli-htmlbars": "^6.0.0",
"layout-bin-packer": "^1.4.0"
"layout-bin-packer": "^2.0.0"
},
"devDependencies": {
"@ember/optional-features": "^2.0.0",
"@ember/string": "^3.0.1",
"@ember/test-helpers": "^2.9.3",
"@glimmer/component": "^1.0.0",
"@glimmer/tracking": "^1.0.0",
"@glimmer/component": "^1.1.2",
"@glimmer/tracking": "^1.1.2",
"babel-eslint": "^10.1.0",
"broccoli-asset-rev": "^3.0.0",
"ember-auto-import": "^2.0.0",
"ember-cli": "^4.12.0",
Expand All @@ -43,7 +44,7 @@
"ember-cli-terser": "^4.0.2",
"ember-compatibility-helpers": "^1.2.1",
"ember-disable-prototype-extensions": "^1.1.3",
"ember-load-initializers": "^2.0.0",
"ember-load-initializers": "^2.1.2",
"ember-maybe-import-regenerator": "^1.0.0",
"ember-qunit": "^6.2.0",
"ember-resolver": "^10.0.0",
Expand All @@ -62,7 +63,7 @@
"webpack": "^5.0.0"
},
"engines": {
"node": ">= 14.*"
"node": ">= 16.*"
},
"publishConfig": {
"registry": "https://registry.npmjs.org"
Expand Down
3 changes: 2 additions & 1 deletion tests/dummy/app/controllers/mixed.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
import Controller from '@ember/controller';
export default Controller.extend({});

export default class extends Controller {}
56 changes: 27 additions & 29 deletions tests/dummy/app/controllers/percentages.js
Original file line number Diff line number Diff line change
@@ -1,33 +1,31 @@
import Controller from '@ember/controller';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';

export default Controller.extend({
init() {
this._super(...arguments);
this.set('columns', [20, 60, 20]);
},
export default class PercentagesController extends Controller {
@tracked columns = [20, 60, 20];

actions: {
changeColumn: function(col) {
switch (col) {
case 1:
this.set('columns', [25, 50, 25]);
break;
case 2:
this.set('columns', [20, 20, 40, 20]);
break;
case 3:
this.set('columns', [33.33, 33.33, 33.33]);
break;
case 4:
this.set('columns', [50, 50]);
break;
case 5:
this.set('columns', [100]);
break;
default:
this.set('columns', [50, 50]);
break;
}
}
@action
changeColumn(col) {
switch (col) {
case 1:
this.columns = [25, 50, 25];
break;
case 2:
this.columns = [20, 20, 40, 20];
break;
case 3:
this.columns = [33.33, 33.33, 33.33];
break;
case 4:
this.columns = [50, 50];
break;
case 5:
this.columns = [100];
break;
default:
this.columns = [50, 50];
break;
}
}
});
}
101 changes: 49 additions & 52 deletions tests/dummy/app/controllers/scroll-position.js
Original file line number Diff line number Diff line change
@@ -1,55 +1,52 @@
import Controller from '@ember/controller';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';

export default class ScrollPositionController extends Controller {
@tracked itemWidth = 100;
@tracked itemHeight = 100;
@tracked containerWidth = 315;
@tracked containerHeight = 600;
@tracked scrollLeft = 0;
@tracked scrollTop = 0;

@action
updateContainerWidth(ev) {
this.containerWidth = parseInt(ev.target.value, 10);
}

@action
updateContainerHeight(ev) {
this.containerHeight = parseInt(ev.target.value, 10);
}

@action
makeSquare() {
this.itemWidth = 100;
this.itemHeight = 100;
}

@action
makeRow() {
this.itemWidth = 300;
this.itemHeight = 100;
}

@action
makeLongRect() {
this.itemWidth = 100;
this.itemHeight = 50;
}

@action
makeTallRect() {
this.itemWidth = 50;
this.itemHeight = 100;
}

export default Controller.extend({
itemWidth: 100,
itemHeight: 100,
containerWidth: 315,
containerHeight: 600,
scrollLeft: 0,
scrollTop: 0,

actions: {
updateContainerWidth: function(value) {
this.set('containerWidth', parseInt(value, 10));
},

updateContainerHeight: function(value) {
this.set('containerHeight', parseInt(value, 10));
},

makeSquare: function() {
this.setProperties({
itemWidth: 100,
itemHeight: 100,
});
},

makeRow: function() {
this.setProperties({
itemWidth: 300,
itemHeight: 100
});
},

makeLongRect: function() {
this.setProperties({
itemWidth: 100,
itemHeight: 50
});
},

makeTallRect: function() {
this.setProperties({
itemWidth: 50,
itemHeight: 100
});
},

scrollChange: function(scrollLeft, scrollTop){
this.setProperties({
scrollLeft: scrollLeft,
scrollTop: scrollTop
});
}
@action
scrollChange(scrollLeft, scrollTop){
this.scrollLeft = scrollLeft;
this.scrollTop = scrollTop;
}
});
}
Loading

0 comments on commit fc7a99e

Please sign in to comment.