fixed lazy loading in self-service, closes #571

pull/576/merge
Justin Richer 2014-04-03 22:44:06 -04:00
parent 88c2a4db4a
commit c6eea670c8
2 changed files with 42 additions and 14 deletions

View File

@ -811,10 +811,15 @@ var AppRouter = Backbone.Router.extend({
{text:"New", href:"manage/#dev/dynreg/new"} {text:"New", href:"manage/#dev/dynreg/new"}
]); ]);
this.dynRegEditView = new DynRegEditView({model: new DynRegClient()}); var view = new DynRegEditView({model: new DynRegClient(), systemScopeList:this.systemScopeList});
$('#content').html(this.dynRegEditView.render().el);
view.load(function() {
$('#content').html(view.render().el);
view.delegateEvents();
setPageTitle("Dynamically Register a New Client");
});
setPageTitle("Dynamically Register a New Client");
}, },
editDynReg:function() { editDynReg:function() {

View File

@ -98,11 +98,15 @@ var DynRegRootView = Backbone.View.extend({
client.fetch({success: function() { client.fetch({success: function() {
var dynRegEditView = new DynRegEditView({model: client, systemScopeList: this.systemScopeList}); var view = new DynRegEditView({model: client, systemScopeList: app.systemScopeList});
$('#content').html(dynRegEditView.render().el); view.load(function() {
app.navigate('dev/dynreg/edit', {trigger: true}); $('#content').html(view.render().el);
self.remove(); view.delegateEvents();
setPageTitle("Dynamically Register a New Client");
app.navigate('dev/dynreg/edit', {trigger: true});
self.remove();
});
}, error: function() { }, error: function() {
$('#modalAlert div.modal-body').html("Invalid client or registration access token."); $('#modalAlert div.modal-body').html("Invalid client or registration access token.");
@ -133,7 +137,23 @@ var DynRegEditView = Backbone.View.extend({
this.requestUrisCollection = new Backbone.Collection(); this.requestUrisCollection = new Backbone.Collection();
}, },
events:{ load:function(callback) {
if (this.options.systemScopeList.isFetched) {
callback();
return;
}
$('#loadingbox').sheet('show');
$('#loading').html('<span class="label" id="loading-scopes">Scopes</span> ');
$.when(this.options.systemScopeList.fetchIfNeeded({success:function(e) {$('#loading-scopes').addClass('label-success');}}))
.done(function() {
$('#loadingbox').sheet('hide');
callback();
});
},
events:{
"click .btn-save":"saveClient", "click .btn-save":"saveClient",
"click .btn-cancel": function() { window.history.back(); return false; }, "click .btn-cancel": function() { window.history.back(); return false; },
"click .btn-delete":"deleteClient", "click .btn-delete":"deleteClient",
@ -174,8 +194,7 @@ var DynRegEditView = Backbone.View.extend({
return false; return false;
}, },
previewLogo:function(e) { previewLogo:function() {
e.preventDefault();
if ($('#logoUri input', this.el).val()) { if ($('#logoUri input', this.el).val()) {
$('#logoPreview', this.el).empty(); $('#logoPreview', this.el).empty();
$('#logoPreview', this.el).attr('src', $('#logoUri input').val()); $('#logoPreview', this.el).attr('src', $('#logoUri input').val());
@ -309,9 +328,13 @@ var DynRegEditView = Backbone.View.extend({
// switch to an "edit" view // switch to an "edit" view
app.navigate('dev/dynreg/edit', {trigger: true}); app.navigate('dev/dynreg/edit', {trigger: true});
_self.remove(); _self.remove();
var dynRegEditView = new DynRegEditView({model: _self.model}); var view = new DynRegEditView({model: _self.model, systemScopeList: _self.options.systemScopeList});
// reload
$('#content').html(dynRegEditView.render().el); view.load(function() {
// reload
$('#content').html(view.render().el);
view.delegateEvents();
});
}, },
error:function (error, response) { error:function (error, response) {
console.log("An error occurred when deleting from a list widget"); console.log("An error occurred when deleting from a list widget");