diff --git a/app/views/aspects/index.js.erb b/app/views/aspects/index.js.erb index 568b571fa..d22f112c4 100644 --- a/app/views/aspects/index.js.erb +++ b/app/views/aspects/index.js.erb @@ -15,5 +15,6 @@ $(document).ready(function() { loadingText: "", loadingImg: '/images/ajax-loader.gif' }); - $("abbr.timeago").timeago(); + + Diaspora.widgets.timeago.updateTimeAgo(); }); diff --git a/app/views/layouts/application.mobile.haml b/app/views/layouts/application.mobile.haml index 0d0fa3f0b..e68bbcae7 100644 --- a/app/views/layouts/application.mobile.haml +++ b/app/views/layouts/application.mobile.haml @@ -11,8 +11,10 @@ %meta{"http-equiv"=>"Content-Type", :content=>"text/html; charset=utf-8"}/ = include_javascripts :mobile - - if ["cz", "da", "de", "el", "es", "fr", "he", "hu", "id", "it", "ja", "ko", "nl", "pl", "pt", "ro", "ru", "sv", "zh-CN"].include?(I18n.locale.to_s) - = javascript_include_tag "vendor/timeago_locale/jquery.timeago.#{I18n.locale.to_s}.js" + -if current_user + :javascript + Diaspora.widgets.i18n.loadLocale(#{get_javascript_strings_for(current_user.language).to_json}, "#{current_user.language}"); + = stylesheet_link_tag 'vendor/jquery_mobile.min', 'mobile' = csrf_meta_tag diff --git a/config/assets.yml b/config/assets.yml index 4536fc6d8..f3d936bda 100644 --- a/config/assets.yml +++ b/config/assets.yml @@ -32,6 +32,10 @@ javascripts: - public/javascripts/vendor/timeago.js - public/javascripts/mobile.js - public/javascripts/application.js + - public/javascripts/diaspora.js + - public/javascripts/widgets/alert.js + - public/javascripts/widgets/i18n.js + - public/javascripts/widgets/timeago.js mailchimp: - public/javascripts/vendor/mailchimp/jquery.form.js - public/javascripts/vendor/mailchimp/jquery.validate.js diff --git a/public/javascripts/application.js b/public/javascripts/application.js index cb2c45a67..e17c8425a 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -16,7 +16,7 @@ $(document).ready(function() { .detach() .appendTo("#main_stream") .css("display", "block"); - $("abbr.timeago").timeago(); + Diaspora.widgets.timeago.updateTimeAgo(); }); $(window).unbind('.infscr'); diff --git a/public/javascripts/stream.js b/public/javascripts/stream.js index 13e0a2a78..ae6e9b3dc 100644 --- a/public/javascripts/stream.js +++ b/public/javascripts/stream.js @@ -6,8 +6,9 @@ var Stream = { initialize: function() { var $stream = $(".stream"); - - $("abbr.timeago").timeago(); + var $publisher = $("#publisher"); + + Diaspora.widgets.timeago.updateTimeAgo(); $stream.not(".show").delegate("a.show_post_comments", "click", Stream.toggleComments); // comment link form focus diff --git a/public/javascripts/web-socket-receiver.js b/public/javascripts/web-socket-receiver.js index 5a1e7aee5..5f0b93c34 100644 --- a/public/javascripts/web-socket-receiver.js +++ b/public/javascripts/web-socket-receiver.js @@ -109,7 +109,7 @@ var WebSocketReceiver = { } } - $("abbr.timeago").timeago(); + Diaspora.widgets.timeago.updateTimeAgo(); }, processPost: function(className, postId, html, aspectIds) { @@ -134,7 +134,7 @@ var WebSocketReceiver = { showMessage(); } } - $("abbr.timeago").timeago(); + Diaspora.widgets.timeago.updateTimeAgo(); }, onPageForClass: function(className) { diff --git a/public/javascripts/widgets/i18n.js b/public/javascripts/widgets/i18n.js index 02f246ae1..728a978dd 100644 --- a/public/javascripts/widgets/i18n.js +++ b/public/javascripts/widgets/i18n.js @@ -13,19 +13,7 @@ Diaspora.widgets.add("i18n", function() { this.loadLocale = function(locale, language) { this.language = language; - - if(typeof locale !== "undefined") { - this.locale = locale; - return; - } - - if(!this.locale) { - function setLocale(data) { - this.locale = $.parseJSON(data); - } - - $.getJSON("/localize", setLocale); - } + this.locale = locale; }; this.t = function(item, views) { diff --git a/public/javascripts/widgets/timeago.js b/public/javascripts/widgets/timeago.js index a9bac7691..eb36a520c 100644 --- a/public/javascripts/widgets/timeago.js +++ b/public/javascripts/widgets/timeago.js @@ -6,6 +6,8 @@ * To change this template use File | Settings | File Templates. */ Diaspora.widgets.add("timeago", function() { + this.selector = "abbr.timeago"; + this.start = function() { if(Diaspora.widgets.i18n.language === "en") { return; @@ -33,6 +35,6 @@ Diaspora.widgets.add("timeago", function() { }; this.updateTimeAgo = function(selector) { - $(selector).timeago(); + $(selector || this.selector).timeago(); }; }); \ No newline at end of file