Skip to content

Instantly share code, notes, and snippets.

@batok
Created June 16, 2016 17:10
Show Gist options
  • Save batok/c8797c25c4d1e8bc7feec1e79bea1fc0 to your computer and use it in GitHub Desktop.
Save batok/c8797c25c4d1e8bc7feec1e79bea1fc0 to your computer and use it in GitHub Desktop.

Revisions

  1. batok created this gist Jun 16, 2016.
    5 changes: 5 additions & 0 deletions controllers.application.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,5 @@
    import Ember from 'ember';

    export default Ember.Controller.extend({
    appName: 'Ember Twiddle'
    });
    4 changes: 4 additions & 0 deletions controllers.index.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    import Ember from 'ember';

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

    const { RSVP,
    Mixin,
    Logger: { info },
    run,
    get,
    set
    } = Ember;

    const pushAndLog = (route, msg) => {
    let c = get(route, "c");
    let d = new Date();
    get(c, "log" ).push(`${d} ${msg}`);
    info(msg);
    }

    let MyMixin = Mixin.create({
    beforeModel() {
    this._super(...arguments);
    let c = this.controllerFor(this.routeName);
    set(this, "c", c);
    set(c, "log", Ember.A());
    pushAndLog(this,'at mixin');
    return timeoutPromise(3000)
    .then(() => {this.beforeModel2()});
    }
    });

    function timeoutPromise(milliseconds) {
    return new Promise(function(resolve,reject) {
    run.later(this, resolve, milliseconds);
    });
    }

    export default Ember.Route.extend(MyMixin, {
    /*
    beforeModel() {
    },
    */

    beforeModel2() {
    pushAndLog(this,"at beforeModel2 of the index route");
    },

    model() {
    pushAndLog(this,"model");
    return timeoutPromise(5000);
    },

    afterModel() {
    pushAndLog( this, "afterModel");
    return timeoutPromise(5000);
    }
    });
    6 changes: 6 additions & 0 deletions templates.application.hbs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,6 @@
    <h1>Welcome to {{appName}}</h1>
    <br>
    <br>
    {{outlet}}
    <br>
    <br>
    6 changes: 6 additions & 0 deletions templates.index.hbs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,6 @@
    <ul>
    {{#each log as | item | }}
    <li>{{item}}</li>

    {{/each}}
    </ul>
    16 changes: 16 additions & 0 deletions twiddle.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,16 @@
    {
    "version": "0.9.2",
    "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.6.0",
    "ember-data": "2.6.0",
    "ember-template-compiler": "2.6.0"
    }
    }