Skip to content

Instantly share code, notes, and snippets.

@jasonmit
Last active February 7, 2018 19:28
Show Gist options
  • Save jasonmit/db4928f1919942aa5f16208697777cfb to your computer and use it in GitHub Desktop.
Save jasonmit/db4928f1919942aa5f16208697777cfb to your computer and use it in GitHub Desktop.
ember destroy
import Ember from 'ember';
const { set, computed, Controller, A:emberArray } = Ember;
const { filterBy } = computed;
const Model = Ember.Object.extend({
id: null,
isActive: true,
name: '<unknown>',
unloadRecord() {
this.destroy();
}
});
export default Controller.extend({
appName: 'Ember Destroy',
activeRecords: filterBy('records', 'isActive', true),
records: null,
init() {
this._super();
this.set('records', emberArray([
Model.create({ id: 1, name: 'foo' }),
Model.create({ id: 2, name: 'bar' }),
Model.create({ id: 3, name: 'baz' })
]));
},
actions: {
destroy(model) {
set(model, 'isActive', false);
model.unloadRecord();
}
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
<ul>
{{#each activeRecords as |o|}}
<li>
<button {{action 'destroy' o}}>destroy {{o.name}}</button>
</li>
{{/each}}
</ul>
<br>
<br>
{
"version": "0.13.0",
"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.16.2",
"ember-template-compiler": "2.16.2",
"ember-testing": "2.16.2"
},
"addons": {
"ember-data": "2.16.3"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment