mirror of
https://github.com/discourse/discourse.git
synced 2025-02-21 19:55:43 +00:00
Use PreloadStore for the badge pages.
This commit is contained in:
parent
b4e037dfb2
commit
a8e2c5e616
@ -8,6 +8,12 @@
|
||||
**/
|
||||
Discourse.BadgesIndexRoute = Discourse.Route.extend({
|
||||
model: function() {
|
||||
return Discourse.Badge.findAll();
|
||||
if (PreloadStore.get('badges')) {
|
||||
return PreloadStore.getAndRemove('badges').then(function(json) {
|
||||
return Discourse.Badge.createFromJson(json);
|
||||
});
|
||||
} else {
|
||||
return Discourse.Badge.findAll();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -12,7 +12,13 @@ Discourse.BadgesShowRoute = Ember.Route.extend({
|
||||
},
|
||||
|
||||
model: function(params) {
|
||||
return Discourse.Badge.findById(params.id);
|
||||
if (PreloadStore.get('badge')) {
|
||||
return PreloadStore.getAndRemove('badge').then(function(json) {
|
||||
return Discourse.Badge.createFromJson(json);
|
||||
});
|
||||
} else {
|
||||
return Discourse.Badge.findById(params.id);
|
||||
}
|
||||
},
|
||||
|
||||
setupController: function(controller, model) {
|
||||
|
@ -1,12 +1,28 @@
|
||||
class BadgesController < ApplicationController
|
||||
skip_before_filter :check_xhr, only: [:index, :show]
|
||||
|
||||
def index
|
||||
badges = Badge.all.to_a
|
||||
render_serialized(badges, BadgeSerializer, root: "badges")
|
||||
serialized = MultiJson.dump(serialize_data(badges, BadgeSerializer, root: "badges"))
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
store_preloaded "badges", serialized
|
||||
render "default/empty"
|
||||
end
|
||||
format.json { render json: serialized }
|
||||
end
|
||||
end
|
||||
|
||||
def show
|
||||
params.require(:id)
|
||||
badge = Badge.find(params[:id])
|
||||
render_serialized(badge, BadgeSerializer, root: "badge")
|
||||
serialized = MultiJson.dump(serialize_data(badge, BadgeSerializer, root: "badge"))
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
store_preloaded "badge", serialized
|
||||
render "default/empty"
|
||||
end
|
||||
format.json { render json: serialized }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user