wait for repo.builds to be loaded, too
This commit is contained in:
parent
3121aa551a
commit
f2c3ad4ff0
|
@ -53,7 +53,7 @@ App.LoadingView = Em.View.extend({ templateName: 'loading' });
|
||||||
|
|
||||||
App.store = App.Store.create();
|
App.store = App.Store.create();
|
||||||
|
|
||||||
var onReady = function(object, path, callback) {
|
var onTrue = function(object, path, callback) {
|
||||||
if(object.getPath(path)) {
|
if(object.getPath(path)) {
|
||||||
callback();
|
callback();
|
||||||
} else {
|
} else {
|
||||||
|
@ -65,11 +65,16 @@ var onReady = function(object, path, callback) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var onRepositoriesLoaded = function(repositories, callback) {
|
var onLoaded = function(object, callback) {
|
||||||
// should observe RecordArray.isLoaded instead, but that doesn't seem to exist?
|
if(object) {
|
||||||
onReady(repositories, 'firstObject.isLoaded', function() {
|
var path = Ember.isArray(object) ? 'firstObject.isLoaded' : 'isLoaded';
|
||||||
callback(repositories.get('firstObject'))
|
// should observe RecordArray.isLoaded instead, but that doesn't seem to exist?
|
||||||
});
|
onTrue(object, path, function() {
|
||||||
|
callback(Ember.isArray(object) ? object.get('firstObject') : object);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
callback(object);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
App.Router = Em.Router.extend({
|
App.Router = Em.Router.extend({
|
||||||
|
@ -119,7 +124,11 @@ App.Router = Em.Router.extend({
|
||||||
connectOutlets: function(router, repository) {
|
connectOutlets: function(router, repository) {
|
||||||
var params = router.serializeRepository(repository);
|
var params = router.serializeRepository(repository);
|
||||||
router.connectLayout(params, function(repository) {
|
router.connectLayout(params, function(repository) {
|
||||||
router.connectHistory(repository.get('builds'))
|
var builds = repository.get('builds');
|
||||||
|
// why do i have to wait here. is repo.isLoaded true before the hasMany array is loaded?
|
||||||
|
onLoaded(builds, function() {
|
||||||
|
router.connectHistory(builds)
|
||||||
|
})
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
@ -192,10 +201,12 @@ App.Router = Em.Router.extend({
|
||||||
}
|
}
|
||||||
var build = params.id ? App.Build.find(params.id) : undefined;
|
var build = params.id ? App.Build.find(params.id) : undefined;
|
||||||
|
|
||||||
onRepositoriesLoaded(repositories, function(repository) {
|
onLoaded(repositories, function(repository) {
|
||||||
this.connectTabs(repository, build);
|
onLoaded(build, function(build) {
|
||||||
this.connectRepository(repository);
|
this.connectTabs(repository, build);
|
||||||
callback(repository, build);
|
this.connectRepository(repository);
|
||||||
|
callback(repository, build);
|
||||||
|
}.bind(this));
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user