Use Discourse.Resolver to load mobile templates when they exist

This commit is contained in:
Neil Lalonde 2013-08-27 13:41:36 -04:00
parent 89265c3a8b
commit 009dec833f
3 changed files with 20 additions and 1 deletions

View File

@ -143,6 +143,8 @@ Discourse = Ember.Application.createWithMixins(Discourse.Ajax, {
bootbox.animate(false);
bootbox.backdrop(true); // clicking outside a bootbox modal closes it
this.set('mobile', $html.hasClass('mobile'));
setInterval(function(){
Discourse.Formatter.updateRelativeAge($('.relative-date'));
},60 * 1000);

View File

@ -16,6 +16,15 @@ Discourse.Resolver = Ember.DefaultResolver.extend({
@returns {Template} the template (if found)
**/
resolveTemplate: function(parsedName) {
if (Discourse.get('mobile')) {
var mobileParsedName = this.parseName(parsedName.fullName.replace("template:", "template:mobile/"));
var mobileTemplate = this.findTemplate(mobileParsedName);
if (mobileTemplate) return mobileTemplate;
}
return this.findTemplate(parsedName) || Ember.TEMPLATES.not_found;
},
findTemplate: function(parsedName) {
var resolvedTemplate = this._super(parsedName);
if (resolvedTemplate) { return resolvedTemplate; }
@ -36,7 +45,6 @@ Discourse.Resolver = Ember.DefaultResolver.extend({
resolvedTemplate = Ember.TEMPLATES[decamelized];
if (resolvedTemplate) { return resolvedTemplate; }
}
return Ember.TEMPLATES.not_found;
}
});

View File

@ -0,0 +1,9 @@
{{#if postStream.loaded}}
<div class='container'>
Mobile Topic Page Loaded!
</div>
{{else}}
<div class='container'>
<div class='spinner'>{{i18n loading}}</div>
</div>
{{/if}}