Skip to content

Instantly share code, notes, and snippets.

View serenaf's full-sized avatar
😅
Always learning

serena serenaf

😅
Always learning
View GitHub Profile
alert("You have been pawned!")
@serenaf
serenaf / item-component.hbs
Created November 7, 2017 11:51
Use the new markAsRead action
<div>
<a href="{{item.externalUrl}}">{{item.title}}</a>
<div>
<span>{{item.points}} points by {{item.user}} {{item.timeAgo}} </span>
<span {{action markAsRead}} class='hide-button test__item-delete-button'>
{{fa-icon "eye-slash"}}
</span>
</div>
{{#link-to 'item' item.id}} {{item.commentsCount}} Comments{{/link-to}}
</div>
@serenaf
serenaf / install font-awesome
Created November 7, 2017 11:49
Install font-awesome
ember install ember-font-awesome
@serenaf
serenaf / frontpage.hbs
Created November 7, 2017 11:48
Pass actions to components
{{item-list-component
items=model
markAsRead=(action "markAsRead")
}}
@serenaf
serenaf / gist:913972366dca2d4d3f6598968de53ee9
Created November 7, 2017 11:45
Action for Base Controller
import Controller from '@ember/controller';
export default Controller.extend({
actions: {
markAsRead(item) {
this.get('store').unloadRecord(item);
}
}
});
@serenaf
serenaf / active.js
Created November 7, 2017 11:44
Adding Base Controller and route controllers
import BaseController from 'ember-hacker-news/controllers/base-controller';
export default BaseController.extend({
});
@serenaf
serenaf / comment-component.hbs
Created November 7, 2017 10:33
Comment Component
<div class="comment">
<em>{{comment.user}} {{comment.timeAgo}}</em>
<p>{{{comment.content}}}</p>
{{#each comment.comments as |childComment|}}
{{comment-component comment=childComment}}
{{/each}}
</div>
@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);
}
});
@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: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'),