Merge "Store releases globally and enable caching"

This commit is contained in:
Jenkins 2015-11-16 18:37:02 +00:00 committed by Gerrit Code Review
commit 51d98b159b
5 changed files with 10 additions and 16 deletions

View File

@ -177,6 +177,7 @@ function($, _, i18n, Backbone, React, utils, layoutComponents, models, KeystoneC
this.user = new models.User();
this.statistics = new models.NodesStatistics();
this.notifications = new models.Notifications();
this.releases = new models.Releases();
this.nodeNetworkGroups = new models.NodeNetworkGroups();
}

View File

@ -318,8 +318,9 @@ define([
constructorName: 'ReleaseNetworkProperties'
});
models.Releases = BaseCollection.extend({
models.Releases = BaseCollection.extend(cacheMixin).extend({
constructorName: 'Releases',
cacheFor: 60 * 1000,
model: models.Release,
url: '/api/releases'
});

View File

@ -37,12 +37,12 @@ function($, _, i18n, React, models, componentMixins, NodeListScreen) {
fetchData() {
var nodes = new models.Nodes(),
clusters = new models.Clusters(),
releases = new models.Releases(),
releases = app.releases,
nodeNetworkGroups = app.nodeNetworkGroups;
return $.when(
nodes.fetch(),
clusters.fetch(),
releases.fetch(),
releases.fetch({cache: true}),
nodeNetworkGroups.fetch({cache: true})
).then(() => {
clusters.each(
@ -56,13 +56,7 @@ function($, _, i18n, React, models, componentMixins, NodeListScreen) {
cluster.set({roles: roles});
return roles.fetch();
}));
}).then(() => {
return {
nodes: nodes,
clusters: clusters,
nodeNetworkGroups: nodeNetworkGroups
};
});
}).then(() => ({nodes, clusters, nodeNetworkGroups}));
}
},
getInitialState() {

View File

@ -35,10 +35,8 @@ function(_, i18n, React, models, controls, componentMixins) {
navbarActiveElement: 'releases',
breadcrumbsPath: [['home', '#'], 'releases'],
fetchData: function() {
var releases = new models.Releases();
return releases.fetch().then(function() {
return {releases: releases};
});
var releases = app.releases;
return releases.fetch({cache: true}).then(() => ({releases}));
}
},
getReleaseData: function(release) {

View File

@ -335,7 +335,7 @@ function($, _, i18n, React, Backbone, utils, models, componentMixins, dialogs, c
this.wizard = new models.WizardModel(this.config);
this.cluster = new models.Cluster();
this.settings = new models.Settings();
this.releases = this.wizard.releases || new models.Releases();
this.releases = app.releases;
this.wizard.processConfig(this.config);
@ -343,7 +343,7 @@ function($, _, i18n, React, Backbone, utils, models, componentMixins, dialogs, c
this.configModels.default = this.wizard;
},
componentDidMount: function() {
this.releases.fetch().done(_.bind(function() {
this.releases.fetch({cache: true}).done(_.bind(function() {
var defaultRelease = this.releases.findWhere({is_deployable: true});
this.wizard.set('NameAndRelease.release', defaultRelease.id);
this.selectRelease(defaultRelease.id);