Skip to content

Instantly share code, notes, and snippets.

View serenaf's full-sized avatar
😅
Always learning

serena serenaf

😅
Always learning
View GitHub Profile
import Ember from 'ember';
export default Ember.Component.extend({
hasName: Ember.computed.notEmpty('name'),
actions: {
log(message) {
console.log(message);
}
}
});
import Ember from 'ember';
export default Ember.Component.extend({
});
@serenaf
serenaf / creating_routes
Created November 7, 2017 10:06
creating routes
ember g route frontpage
ember g route new
ember g route jobs
ember g route ask
ember g route active
ember g route show
@serenaf
serenaf / updating_model_hooks
Created November 7, 2017 10:10
Updating model hooks
For routes active, ask, jobs, new, show
model () {
return this.get('store').query('item',
{
page: 1,
filter: 'NAME_OF_ROUTE'
});
}
@serenaf
serenaf / updating_templates
Created November 7, 2017 10:16
Updating templates
{{#each model as |item|}}
<p>
<strong>id:</strong> {{item.id}}<br>
<strong>title:</strong> {{item.title}}<br>
<strong>points:</strong> {{item.points}}<br>
<strong>time:</strong> {{item.time}}<br>
<strong>time ago:</strong> {{item.timeAgo}}<br>
<strong>comments count</strong> {{story.commentsCount}}<br>
<strong>url</strong> <a href="{{item.url}}">{{item.url}}</a><br>
<strong>domain</strong> <a href="http://{{item.domain}}">{{item.domain}}</a><br>
@serenaf
serenaf / navigation-bar-component.hbs
Created November 7, 2017 10:17
Navigation Bar Component
<ul>
<li>{{#link-to 'frontpage'}}Front page{{/link-to}}</li>
<li>{{#link-to 'new'}}new{{/link-to}}</li>
<li>{{#link-to 'show'}}show{{/link-to}}</li>
<li>{{#link-to 'ask'}}ask{{/link-to}}</li>
<li>{{#link-to 'jobs'}}jobs{{/link-to}}</li>
<li>{{#link-to 'active'}}active{{/link-to}}</li>
</ul>
@serenaf
serenaf / item-component.hbs
Created November 7, 2017 10:25
Item List and Item Component
<p>
<strong>id:</strong> {{item.id}}<br>
<strong>title:</strong> {{item.title}}<br>
<strong>points:</strong> {{item.points}}<br>
<strong>time:</strong> {{item.time}}<br>
<strong>time ago:</strong> {{item.timeAgo}}<br>
<strong>comments count</strong> {{story.commentsCount}}<br>
<strong>url</strong> <a href="{{item.url}}">{{item.url}}</a><br>
<strong>domain</strong> <a href="http://{{item.domain}}">{{item.domain}}</a><br>
</p>
@serenaf
serenaf / item.js
Created November 7, 2017 10:27
Item Model Computed Property
import DS from 'ember-data';
import { computed } from '@ember/object';
export default DS.Model.extend({
title: DS.attr('string'),
points: DS.attr('number'),
time: DS.attr('unix-date'),
timeAgo: DS.attr('string'),
url: DS.attr('string'),
domain: DS.attr('string'),
@serenaf
serenaf / comment.js
Created November 7, 2017 10:29
Adding nested comment model
import DS from 'ember-data';
export default DS.Model.extend({
content: DS.attr('string'),
user: DS.attr('string'),
timeAgo: DS.attr('string'),
comments: DS.hasMany('comments', { inverse: null })
});
@serenaf
serenaf / item.js
Created November 7, 2017 10:31
Adding dynamic item route
import Route from '@ember/routing/route';
export default Route.extend({
model(params) {
return this.get('store').findRecord('item', params.id);
}
});