Skip to content

Commit c2c3aff

Browse files
committed
Merge pull request #28 from toddjordan/support-ember-objects
Add documentation regarding ember objects as data.
2 parents 928b349 + 515dc78 commit c2c3aff

File tree

2 files changed

+28
-8
lines changed

2 files changed

+28
-8
lines changed

tests/dummy/app/routes/demos/data.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
import Ember from 'ember';
22

3+
const Feedback = Ember.Object.extend({
4+
name: Ember.computed('firstName', 'lastName', function () {
5+
return `${this.get('firstName')} ${this.get('lastName')}`;
6+
})
7+
});
38
export default Ember.Route.extend({
49
model() {
510
const basicModel = this.modelFor('demos');
6-
const data = Ember.Object.create({
7-
name: 'Todd Jordan',
11+
const data = Feedback.create({
12+
firstName: 'Todd',
13+
lastName: 'Jordan',
814
feedback: 'Ember + Alpaca = Awesome',
915
ranking: 'excellent'
1016
});

tests/dummy/app/templates/demos/data.hbs

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
<h2>Data</h2>
22

3-
<p>This form has data pre-filled in its fields, provided apart from its schema.</p>
3+
<p>This form has data pre-filled in its fields, provided apart from its schema.
4+
The component will take both ember objects and plain JavaScript objects as arguments.</p>
45
{{dynamic-form schema=model.basicModel data=model.data}}
56

67
<hr/>
78

8-
<p>The dynamic-form component also takes a data parameter to populate fields. The component will attept to populate any field that has a matching key in the data object.</p>
9-
<p>Below we will take our basic schema and add a data object to populate fields.</p>
9+
<p>The dynamic-form component also takes a data parameter to populate fields.
10+
It will populate any field that has a matching key in the data object.</p>
11+
<p>In the form example above we pass in an ember object called Feedback with a computed property as our data argument.</p>
1012

1113
{{#highlight-js}}
1214
<pre>/app/routes/demos/data.js<code>import Ember from 'ember';
15+
16+
const Feedback = Ember.Object.extend({
17+
name: Ember.computed('firstName', 'lastName', function () {
18+
return `${this.get('firstName')} ${this.get('lastName')}`;
19+
})
20+
});
21+
1322
const basicSchema = {
1423
"schema": {
1524
"title":"User Feedback",
@@ -56,12 +65,15 @@ const basicSchema = {
5665
};
5766

5867
export default Ember.Route.extend({
68+
5969
model() {
60-
const data = Ember.Object.create({
61-
name: 'Todd Jordan',
70+
const data = Feedback.create({
71+
firstName: 'Todd',
72+
lastName: 'Jordan',
6273
feedback: 'Ember + Alpaca = Awesome',
6374
ranking: 'excellent'
6475
});
76+
6577
return {
6678
basicSchema,
6779
data
@@ -70,5 +82,7 @@ export default Ember.Route.extend({
7082
});</code></pre>
7183
{{/highlight-js}}
7284

73-
{{#highlight-js}}<pre>/app/templates/demos/data.hbs<code>\{{dynamic-form schema=model.basicSchema data=model.data}}</code></pre>{{/highlight-js}}
85+
{{#highlight-js}}<pre>/app/templates/demos/data.hbs<code>
86+
\{{dynamic-form schema=model.basicSchema data=model.data}}
87+
</code></pre>{{/highlight-js}}
7488

0 commit comments

Comments
 (0)