Skip to content

Instantly share code, notes, and snippets.

@nightire
Last active September 8, 2017 19:09
Show Gist options
  • Save nightire/50362d56ef9bed01ee519515b657f840 to your computer and use it in GitHub Desktop.
Save nightire/50362d56ef9bed01ee519515b657f840 to your computer and use it in GitHub Desktop.
Changeset Playground
import Component from 'ember-component'
import Changeset from 'ember-changeset'
export default Component.extend({
init() {
this._super(...arguments);
this.changeset = new Changeset(this.hero, this.validator)
console.dir(this.changeset)
},
validator({key, newValue, oldValue, changes, content}) {
}
})
import Controller from 'ember-controller'
import get from 'ember-metal/get'
import set from 'ember-metal/set'
export default Controller.extend({
})
import Route from 'ember-route'
export default Route.extend({
activate() {
document.body.classList.add('standard')
}
})
import Route from 'ember-route'
import get from 'ember-metal/get'
import set from 'ember-metal/set'
class SuperHero {
constructor(name, age) {
this.name = name
this.age = age
}
save() {
return `${this.name} has been saved successfully!`
}
}
export default Route.extend({
model() {
return new SuperHero('ironman', 36);
}
})
*, *::before, &::after {
box-sizing: border-box;
}
<header class="container-fluid">
<h1>Ember Sandbox</h1>
</header>
<hr>
<main class="container-fluid">
{{outlet}}
</main>
<h2>{{hero.name}} - {{hero.age}}</h2>
<hr>
<div>
<input type="text" value={{readonly changeset.name}} oninput={{action (mut changeset.name) value="target.value"}}>
</div>
<div>
<input type="number" value={{readonly changeset.age}} oninput={{action (mut changeset.age) value="target.value"}}>
</div>
{{super-hero hero=model}}
{
"version": "0.12.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js",
"hack": "//cdnjs.cloudflare.com/ajax/libs/hack/0.8.0/hack.css",
"standard": "//cdnjs.cloudflare.com/ajax/libs/hack/0.8.0/standard.css",
"ember": "2.12.0",
"ember-template-compiler": "2.12.0",
"ember-testing": "2.12.0"
},
"addons": {
"ember-changeset": "latest"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment