Timeago is a widely used jQuery plugin which makes it easy to support automatically updating timestamps. (ex: 2 minutes ago)
plugin documentation: http://timeago.yarp.com/(link)
Now we will see how to integrate timeago jquery plugin in ember application.
(Here we will give example using ember-cli)
install jquery-timeago plugin using bower
bower install jquery-timeago
In Brocfile.js
app.import('bower_components/jquery-timeago/jquery.timeago.js');
Create Ember Component to display time format
app/components/time-ago.js
import Ember from 'ember';
export default Ember.Component.extend({
timeValue: new Date(),
didInsertElement: function() {
Ember.$().ready(function (){
Ember.$('time.timeago').timeago();
// update every minute
setInterval((function() {
return Ember.$("time.timeago").timeago();
}), 60000);
});
},
timeString: function(){
var timeValue = this.timeValue || (new Date());
var timeString = timeValue.toString();
return (new Date(timeString).toISOString());
}.property()
});
app/templates/components/time-ago.hbs
Now use this component wherever you want to display dynamic timings in your template
{{time-ago timeValue=createdAt}}
That's it!!
Thanks.