Merge "Store releases globally and enable caching"
This commit is contained in:
commit
51d98b159b
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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'
|
||||
});
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue