From 1de9c3b04ada4ad100ca6e0e14356ed633fade31 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Fri, 12 Sep 2014 14:27:34 -0400 Subject: [PATCH] Migrate more helpers to ES6 format. --- .../admin/templates/email_all.js.handlebars | 2 +- .../admin/templates/email_sent.js.handlebars | 2 +- .../templates/email_skipped.js.handlebars | 2 +- .../admin/templates/flags.js.handlebars | 4 +- .../discourse/helpers/application_helpers.js | 41 ------------------- .../discourse/helpers/bound-date.js.es6 | 3 ++ .../discourse/helpers/format-age.js.es6 | 4 ++ .../discourse/helpers/format-date.js.es6 | 21 ++++++++++ .../initializers/deprecations.js.es6 | 4 +- .../templates/badges/show.js.handlebars | 2 +- .../components/topic-map.js.handlebars | 4 +- .../discovery/categories.js.handlebars | 4 +- .../templates/group/index.js.handlebars | 2 +- .../mobile/discovery/categories.js.handlebars | 2 +- .../search/topic_result.js.handlebars | 2 +- .../templates/user-expansion.js.handlebars | 4 +- .../templates/user/invited.js.handlebars | 4 +- .../user/notifications.js.handlebars | 2 +- .../templates/user/posts.js.handlebars | 4 +- .../templates/user/stream.js.handlebars | 2 +- 20 files changed, 52 insertions(+), 63 deletions(-) create mode 100644 app/assets/javascripts/discourse/helpers/bound-date.js.es6 create mode 100644 app/assets/javascripts/discourse/helpers/format-age.js.es6 create mode 100644 app/assets/javascripts/discourse/helpers/format-date.js.es6 diff --git a/app/assets/javascripts/admin/templates/email_all.js.handlebars b/app/assets/javascripts/admin/templates/email_all.js.handlebars index 48b0e0e868c..702499c6b45 100644 --- a/app/assets/javascripts/admin/templates/email_all.js.handlebars +++ b/app/assets/javascripts/admin/templates/email_all.js.handlebars @@ -19,7 +19,7 @@ {{#each model}} - {{date created_at}} + {{format-date created_at}} {{#if user}} {{#link-to 'adminUser' user}}{{avatar user imageSize="tiny"}}{{/link-to}} diff --git a/app/assets/javascripts/admin/templates/email_sent.js.handlebars b/app/assets/javascripts/admin/templates/email_sent.js.handlebars index 57029ac8eec..f3c2cc436bd 100644 --- a/app/assets/javascripts/admin/templates/email_sent.js.handlebars +++ b/app/assets/javascripts/admin/templates/email_sent.js.handlebars @@ -19,7 +19,7 @@ {{#each model}} - {{date created_at}} + {{format-date created_at}} {{#if user}} {{#link-to 'adminUser' user}}{{avatar user imageSize="tiny"}}{{/link-to}} diff --git a/app/assets/javascripts/admin/templates/email_skipped.js.handlebars b/app/assets/javascripts/admin/templates/email_skipped.js.handlebars index 48b0e0e868c..702499c6b45 100644 --- a/app/assets/javascripts/admin/templates/email_skipped.js.handlebars +++ b/app/assets/javascripts/admin/templates/email_skipped.js.handlebars @@ -19,7 +19,7 @@ {{#each model}} - {{date created_at}} + {{format-date created_at}} {{#if user}} {{#link-to 'adminUser' user}}{{avatar user imageSize="tiny"}}{{/link-to}} diff --git a/app/assets/javascripts/admin/templates/flags.js.handlebars b/app/assets/javascripts/admin/templates/flags.js.handlebars index fdd1b627a41..bbad7f00a6f 100644 --- a/app/assets/javascripts/admin/templates/flags.js.handlebars +++ b/app/assets/javascripts/admin/templates/flags.js.handlebars @@ -66,7 +66,7 @@ {{#link-to 'adminUser' user}} {{user.username}} {{/link-to}} - {{age flaggedAt}} + {{format-age flaggedAt}}
{{flagType}} @@ -88,7 +88,7 @@ {{/link-to}} - {{age disposedAt}} + {{format-age disposedAt}} {{{dispositionIcon}}} {{#if tookAction}} diff --git a/app/assets/javascripts/discourse/helpers/application_helpers.js b/app/assets/javascripts/discourse/helpers/application_helpers.js index d6245a15193..ea80064b8a9 100644 --- a/app/assets/javascripts/discourse/helpers/application_helpers.js +++ b/app/assets/javascripts/discourse/helpers/application_helpers.js @@ -45,17 +45,6 @@ Handlebars.registerHelper('raw-date', function(property, options) { return Discourse.Formatter.longDate(dt); }); -/** - Live refreshing age helper - - @method age - @for Handlebars -**/ -Handlebars.registerHelper('age', function(property, options) { - var dt = new Date(Ember.Handlebars.get(this, property, options)); - return new safe(Discourse.Formatter.autoUpdatingRelativeAge(dt)); -}); - /** Live refreshing age helper, with a tooltip showing the date and time @@ -98,33 +87,3 @@ Handlebars.registerHelper('number', function(property, options) { return new safe(result); }); - -/** - Display logic for dates. It is unbound in Ember but will use jQuery to - update the dates on a regular interval. - - @method date - @for Handlebars -**/ -Handlebars.registerHelper('date', function(property, options) { - var leaveAgo; - if (property.hash) { - if (property.hash.leaveAgo) { - leaveAgo = property.hash.leaveAgo === "true"; - } - if (property.hash.path) { - property = property.hash.path; - } - } - - var val = Ember.Handlebars.get(this, property, options); - if (val) { - var date = new Date(val); - return new safe(Discourse.Formatter.autoUpdatingRelativeAge(date, {format: 'medium', title: true, leaveAgo: leaveAgo})); - } -}); - -Em.Handlebars.helper('bound-date', function(dt) { - return new safe(Discourse.Formatter.autoUpdatingRelativeAge(new Date(dt), {format: 'medium', title: true })); -}); - diff --git a/app/assets/javascripts/discourse/helpers/bound-date.js.es6 b/app/assets/javascripts/discourse/helpers/bound-date.js.es6 new file mode 100644 index 00000000000..3f1e3cdc641 --- /dev/null +++ b/app/assets/javascripts/discourse/helpers/bound-date.js.es6 @@ -0,0 +1,3 @@ +export default Ember.Handlebars.makeBoundHelper(function(dt) { + return new Handlebars.SafeString(Discourse.Formatter.autoUpdatingRelativeAge(new Date(dt), {format: 'medium', title: true })); +}); diff --git a/app/assets/javascripts/discourse/helpers/format-age.js.es6 b/app/assets/javascripts/discourse/helpers/format-age.js.es6 new file mode 100644 index 00000000000..96bacd6cd8a --- /dev/null +++ b/app/assets/javascripts/discourse/helpers/format-age.js.es6 @@ -0,0 +1,4 @@ +Handlebars.registerHelper('format-age', function(property, options) { + var dt = new Date(Ember.Handlebars.get(this, property, options)); + return new Handlebars.SafeString(Discourse.Formatter.autoUpdatingRelativeAge(dt)); +}); diff --git a/app/assets/javascripts/discourse/helpers/format-date.js.es6 b/app/assets/javascripts/discourse/helpers/format-date.js.es6 new file mode 100644 index 00000000000..1de71f4c22e --- /dev/null +++ b/app/assets/javascripts/discourse/helpers/format-date.js.es6 @@ -0,0 +1,21 @@ +/** + Display logic for dates. It is unbound in Ember but will use jQuery to + update the dates on a regular interval. +**/ +Handlebars.registerHelper('format-date', function(property, options) { + var leaveAgo; + if (property.hash) { + if (property.hash.leaveAgo) { + leaveAgo = property.hash.leaveAgo === "true"; + } + if (property.hash.path) { + property = property.hash.path; + } + } + + var val = Ember.Handlebars.get(this, property, options); + if (val) { + var date = new Date(val); + return new Handlebars.SafeString(Discourse.Formatter.autoUpdatingRelativeAge(date, {format: 'medium', title: true, leaveAgo: leaveAgo})); + } +}); diff --git a/app/assets/javascripts/discourse/initializers/deprecations.js.es6 b/app/assets/javascripts/discourse/initializers/deprecations.js.es6 index e13f63c9226..06d85c5e122 100644 --- a/app/assets/javascripts/discourse/initializers/deprecations.js.es6 +++ b/app/assets/javascripts/discourse/initializers/deprecations.js.es6 @@ -10,7 +10,9 @@ var deprecatedViewHelpers = { }; var renamedHelpers = { - icon: "fa-icon" + icon: "fa-icon", + date: "format-date", + age: "format-age" }; export default { diff --git a/app/assets/javascripts/discourse/templates/badges/show.js.handlebars b/app/assets/javascripts/discourse/templates/badges/show.js.handlebars index 263c4f6630c..fd2216cb107 100644 --- a/app/assets/javascripts/discourse/templates/badges/show.js.handlebars +++ b/app/assets/javascripts/discourse/templates/badges/show.js.handlebars @@ -25,7 +25,7 @@ {{avatar user imageSize="large"}}
{{user.username}} - {{date granted_at}} + {{format-date granted_at}}
{{/link-to}} diff --git a/app/assets/javascripts/discourse/templates/components/topic-map.js.handlebars b/app/assets/javascripts/discourse/templates/components/topic-map.js.handlebars index aa0e30f3f5a..dd4bc2a06b1 100644 --- a/app/assets/javascripts/discourse/templates/components/topic-map.js.handlebars +++ b/app/assets/javascripts/discourse/templates/components/topic-map.js.handlebars @@ -10,14 +10,14 @@

{{i18n created_lowercase}}

{{avatar details.created_by imageSize="tiny"}} - {{date topic.created_at}} + {{format-date topic.created_at}}
  • {{i18n last_post_lowercase}}

    {{avatar details.last_poster imageSize="tiny"}} - {{date topic.last_posted_at}} + {{format-date topic.last_posted_at}}
  • diff --git a/app/assets/javascripts/discourse/templates/discovery/categories.js.handlebars b/app/assets/javascripts/discourse/templates/discovery/categories.js.handlebars index 7502d3004c6..acf40a5011d 100644 --- a/app/assets/javascripts/discourse/templates/discovery/categories.js.handlebars +++ b/app/assets/javascripts/discourse/templates/discovery/categories.js.handlebars @@ -53,11 +53,11 @@ {{#if controller.latestTopicOnly}} {{else}}   - {{age last_posted_at}} + {{format-age last_posted_at}} {{/if}} {{/each}} diff --git a/app/assets/javascripts/discourse/templates/group/index.js.handlebars b/app/assets/javascripts/discourse/templates/group/index.js.handlebars index ab0dea2779c..cb270552e96 100644 --- a/app/assets/javascripts/discourse/templates/group/index.js.handlebars +++ b/app/assets/javascripts/discourse/templates/group/index.js.handlebars @@ -3,7 +3,7 @@
    {{#link-to 'user' user class="avatar-link"}}
    {{avatar user imageSize="large" extraClasses="actor" ignoreTitle="true"}}
    {{/link-to}} - {{date path="created_at" leaveAgo="true"}} + {{format-date path="created_at" leaveAgo="true"}} {{unbound title}} diff --git a/app/assets/javascripts/discourse/templates/mobile/discovery/categories.js.handlebars b/app/assets/javascripts/discourse/templates/mobile/discovery/categories.js.handlebars index 267f6c5bd85..3d222889d2c 100644 --- a/app/assets/javascripts/discourse/templates/mobile/discovery/categories.js.handlebars +++ b/app/assets/javascripts/discourse/templates/mobile/discovery/categories.js.handlebars @@ -37,7 +37,7 @@
    {{number posts_count}} - {{{age created_at}}} + {{{format-age created_at}}} {{/each}} diff --git a/app/assets/javascripts/discourse/templates/search/topic_result.js.handlebars b/app/assets/javascripts/discourse/templates/search/topic_result.js.handlebars index 6ad3ef95e59..ef58e870d9e 100644 --- a/app/assets/javascripts/discourse/templates/search/topic_result.js.handlebars +++ b/app/assets/javascripts/discourse/templates/search/topic_result.js.handlebars @@ -4,7 +4,7 @@ {{#unless controller.site.mobileView}} - {{age created_at}} - {{{unbound blurb}}} + {{format-age created_at}} - {{{unbound blurb}}} {{/unless}} diff --git a/app/assets/javascripts/discourse/templates/user-expansion.js.handlebars b/app/assets/javascripts/discourse/templates/user-expansion.js.handlebars index e0fd4a8a4e0..fbaaab68ef9 100644 --- a/app/assets/javascripts/discourse/templates/user-expansion.js.handlebars +++ b/app/assets/javascripts/discourse/templates/user-expansion.js.handlebars @@ -26,8 +26,8 @@ {{#if user}} diff --git a/app/assets/javascripts/discourse/templates/user/invited.js.handlebars b/app/assets/javascripts/discourse/templates/user/invited.js.handlebars index 1cc1676d9e2..86f2f8ea272 100644 --- a/app/assets/javascripts/discourse/templates/user/invited.js.handlebars +++ b/app/assets/javascripts/discourse/templates/user/invited.js.handlebars @@ -36,9 +36,9 @@ {{#link-to 'user' invite.user}}{{avatar invite.user imageSize="tiny"}}{{/link-to}} {{#link-to 'user' invite.user}}{{invite.user.username}}{{/link-to}} - {{date invite.redeemed_at}} + {{format-date invite.redeemed_at}} {{#if can_see_invite_details}} - {{date invite.user.last_seen_at}} + {{format-date invite.user.last_seen_at}} {{number invite.user.topics_entered}} {{number invite.user.posts_read_count}} {{{unbound invite.user.time_read}}} diff --git a/app/assets/javascripts/discourse/templates/user/notifications.js.handlebars b/app/assets/javascripts/discourse/templates/user/notifications.js.handlebars index 9c66d9f7a06..ec8a993c641 100644 --- a/app/assets/javascripts/discourse/templates/user/notifications.js.handlebars +++ b/app/assets/javascripts/discourse/templates/user/notifications.js.handlebars @@ -12,7 +12,7 @@
    {{notification-item notification=this scope=scope}} - {{date path="created_at" leaveAgo="true"}} + {{format-date path="created_at" leaveAgo="true"}}
    {{/each}} diff --git a/app/assets/javascripts/discourse/templates/user/posts.js.handlebars b/app/assets/javascripts/discourse/templates/user/posts.js.handlebars index 8e2260063fc..5e968ec9300 100644 --- a/app/assets/javascripts/discourse/templates/user/posts.js.handlebars +++ b/app/assets/javascripts/discourse/templates/user/posts.js.handlebars @@ -7,7 +7,7 @@
    - {{date path="created_at" leaveAgo="true"}} + {{format-date path="created_at" leaveAgo="true"}} {{unbound topic_title}} @@ -17,7 +17,7 @@ {{#if deleted}} - {{avatar deleted_by imageSize="tiny" extraClasses="actor" ignoreTitle="true"}} {{date path="deleted_at" leaveAgo="true"}} + {{avatar deleted_by imageSize="tiny" extraClasses="actor" ignoreTitle="true"}} {{format-date path="deleted_at" leaveAgo="true"}} {{/if}} diff --git a/app/assets/javascripts/discourse/templates/user/stream.js.handlebars b/app/assets/javascripts/discourse/templates/user/stream.js.handlebars index 9ce1d1e07d9..bef320db186 100644 --- a/app/assets/javascripts/discourse/templates/user/stream.js.handlebars +++ b/app/assets/javascripts/discourse/templates/user/stream.js.handlebars @@ -2,7 +2,7 @@