Skip to content

Instantly share code, notes, and snippets.

Revisions

  1. @sglanzer sglanzer created this gist May 3, 2017.
    16 changes: 16 additions & 0 deletions components.some-filter.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,16 @@
    import Ember from 'ember';

    export default Ember.Component.extend({
    class: 'some-filter',
    classNameBindings: ['selected'],

    selected: Ember.computed('selectedFilter', function () {
    const label = this.get('label')
    const selectedFilter = this.get('selectedFilter')
    return label === selectedFilter
    }),

    click () {
    this.onSelect(this.get('label'))
    }
    });
    20 changes: 20 additions & 0 deletions controllers.application.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    import Ember from 'ember';

    export default Ember.Controller.extend({
    appName: 'Ember Twiddle',
    controllerSelectedFilter: 'B',

    content: Ember.computed('controllerSelectedFilter', function () {
    switch (this.get('controllerSelectedFilter')) {
    case 'A': return 'is for Apple'
    case 'B': return 'is for Banana'
    case 'C': return 'is for Carrot'
    }
    }),

    actions: {
    select (label) {
    this.set('controllerSelectedFilter', label)
    }
    }
    });
    4 changes: 4 additions & 0 deletions routes.my-other-route.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    import Ember from 'ember';

    export default Ember.Route.extend({
    });
    4 changes: 4 additions & 0 deletions routes.my-route.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    import Ember from 'ember';

    export default Ember.Route.extend({
    });
    4 changes: 4 additions & 0 deletions routes.my-super-route.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    import Ember from 'ember';

    export default Ember.Route.extend({
    });
    9 changes: 9 additions & 0 deletions styles.app.css
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    body {
    margin: 12px 16px;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 12pt;
    }

    .selected {
    border-bottom: 2px solid green;
    }
    15 changes: 15 additions & 0 deletions templates.application.hbs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,15 @@
    <h1>Welcome to {{appName}}</h1>
    <br>
    <br>
    <div>
    <span>
    {{some-filter label='A' selectedFilter=controllerSelectedFilter onSelect=(action 'select')}}
    {{some-filter label='B' selectedFilter=controllerSelectedFilter onSelect=(action 'select')}}
    {{some-filter label='C' selectedFilter=controllerSelectedFilter onSelect=(action 'select')}}
    </span>
    <span>
    {{content}}
    </span>
    </div>
    <br>
    <br>
    1 change: 1 addition & 0 deletions templates.components.some-filter.hbs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    {{label}}
    19 changes: 19 additions & 0 deletions twiddle.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,19 @@
    {
    "version": "0.12.1",
    "EmberENV": {
    "FEATURES": {}
    },
    "options": {
    "use_pods": false,
    "enable-testing": false
    },
    "dependencies": {
    "jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
    "ember": "2.12.0",
    "ember-template-compiler": "2.12.0",
    "ember-testing": "2.12.0"
    },
    "addons": {
    "ember-data": "2.12.1"
    }
    }