Skip to content

Instantly share code, notes, and snippets.

@kumkanillam
Created May 23, 2016 08:43
Show Gist options
  • Save kumkanillam/8d7f944f098bfab27ab9e2fdc39309a5 to your computer and use it in GitHub Desktop.
Save kumkanillam/8d7f944f098bfab27ab9e2fdc39309a5 to your computer and use it in GitHub Desktop.
New Twiddle
import DS from 'ember-data';
export default DS.RESTAdapter;
import Ember from 'ember';
export default Ember.Controller.extend({
saveUser(user) {
Ember.run.debounce(user, 'save', 250);
},
actions: {
saveName(user, event) {
user.set('name', event.target.value);
this.saveUser(user);
},
saveCoolness(user, event) {
user.set('isCool', event.target.checked);
this.saveUser(user);
},
saveDescription(user, event) {
user.set('description', event.target.value);
this.saveUser(user);
}
}
});
import Ember from 'ember';
var r = [
{
id: '314',
isCool: true,
name: "AAA",
description: "He's a great guy."
},
{
id: '315',
isCool: true,
name: "BBB",
description: "He's a great guy."
}
];
$.mockjax({
type: 'GET',
url: '/users/314',
status: '200',
dataType: 'json',
responseText: {
user: r[0]
}
});
$.mockjax({
type: 'GET',
url: '/users',
status: '200',
dataType: 'json',
responseText: {
user: r
}
});
$.mockjax({
type: 'PUT',
url: '/users/314',
status: '200',
dataType: 'json',
responseText: {
}
});
$.mockjax({
type: 'OPTIONS',
url: '/user',
status: '200',
dataType: 'json',
responseText: {
}
});
$.mockjax({
type: 'POST',
url: '/users',
status: '200',
dataType: 'json',
data: function(json){
console.log(' data json '+json);
},
responseText: {
user: r
}
});
export default Ember.Route.extend({
model() {
//return this.store.findRecord('user', '314');
console.log("model triggered");
return this.store.findAll('user');
},
actions:{
newRecord(){
console.log('New Record : r'+r);
var _this = this;
var user = {};
user['id'] ='317';
user['name'] = 'CCC';
user['isCool'] ='true';
user['description'] ='CCC description';
var newRecord = this.store.createRecord('user',user);
console.log(newRecord);
r[r.length]=user;
console.log(r);
newRecord.save().then(function(){
_this.store.unloadRecord(newRecord);
_this.store.findAll('user');
//_this.sendAction('refreshRoute');
},
function(){
console.log("creation error");
_this.store.unloadRecord(newRecord);
_this.refresh();
});
},
}
});
<button {{action 'newRecord'}}> New Record </button>
<table>
<thead>
<tr>
<th>Name</th>
<th>Email Address</th>
<th>Number</th>
</tr>
</thead>
<tbody>
{{#each model as |temp| }}
<tr>
<td>{{temp.name}}</td>
<td>{{temp.isCool}}</td>
<td>{{temp.description}}</td>
</tr>
{{/each}}
</tbody>
</table>
import DS from 'ember-data';
export default DS.Model.extend({
isCool: DS.attr(),
name: DS.attr(),
description: DS.attr()
});
{
"version": "0.5.0",
"EmberENV": {
"FEATURES": {}
},
"options": {
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"jquery-mockjack": "https://cdnjs.cloudflare.com/ajax/libs/jquery-mockjax/1.5.3/jquery.mockjax.js",
"ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.2.0/ember.debug.js",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/2.2.0/ember-data.js",
"ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.2.0/ember-template-compiler.js"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment