Skip to content

Instantly share code, notes, and snippets.

View gregtap's full-sized avatar
🐬

Gregory TAPPERO gregtap

🐬
  • Paris
View GitHub Profile
/**
* Set N latest non visible messages to visible.
*/
revealLastNmessages: function() {
let hiddenMessages = this.get('store').peekAll('chat-message').filterBy('isVisible', false);
let l = hiddenMessages.get('length');
// Show latest N messages.
hiddenMessages.slice(l - MAX_MESSAGES_COUNT, l)
.setEach('isVisible', true);
{{#each messages as |message|}}
{{chat-message message=message
messageStatusUpdate="onMessageStatusUpdate"}}
{{/each}}
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'Ember Twiddle',
});
import Ember from 'ember';
const { Service, inject, run } = Ember;
const TWO_HOURS = 2 * 60 * 60 * 1000;
const TWO_DAYS = 2 * 24 * 60 * 60 * 1000;
/**
* Ticking clock service.
* We use this service to sync all our momentjs udpates every second
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'Ember Twiddle'
});
{{timeago}}
import Ember from 'ember';
const { Service, inject, run } = Ember;
const TWO_HOURS = 2 * 60 * 60 * 1000;
const TWO_DAYS = 2 * 24 * 60 * 60 * 1000;
/**
* Ticking clock service.
* We use this service to sync all our momentjs udpates every second
export default Component.extend({
tagName: 'time',
tick: function() {
this.nextTick = run.later(this, function() {
this.notifyPropertyChange('timeago');
this.tick();
}, 1000);
}.on('init'),
// The other user we are chatting with.
otherUser: function() {
console.log('HELLO WORLD');
return this.get('store').peekRecord('user', 'other');
}.property(),
import Ember from 'ember';
export default Ember.Route.extend({
actions: {
loading(transition, originRoute) {
console.log('XXXXX Loading! XXXXX');
},
},
});