added Sonia.repository.get method

This commit is contained in:
Sebastian Sdorra
2011-09-25 17:18:56 +02:00
parent 9b061d8ff6
commit 5569882b8a
2 changed files with 46 additions and 20 deletions

View File

@@ -90,3 +90,40 @@ Sonia.repository.DefaultPanel = {
bodyCssClass: 'x-panel-mc',
html: 'Add or select an Repository'
}
// load object from store or from web service
Sonia.repository.get = function(id, callback){
function execCallback(item){
if (Ext.isFunction(callback)){
callback(item);
} else {
callback.call(callback.scope, item);
}
}
var grid = Ext.getCmp('repositoryGrid');
if ( grid ){
var store = grid.getStore();
if (store){
var rec = store.getById(id);
if (rec){
execCallback(rec.data);
}
}
}
Ext.Ajax.request({
url: restUrl + 'repositories/' + id + '.json',
method: 'GET',
scope: this,
success: function(response){
execCallback(Ext.decode(response.responseText));
},
failure: function(result){
main.handleFailure(
result.status
);
}
});
}

View File

@@ -344,26 +344,15 @@ Sonia.History.register('repositorybrowser', function(params){
main.getMainTabPanel().setActiveTab(id);
tab.changeDirectory(path);
} else {
Ext.Ajax.request({
url: restUrl + 'repositories/' + params[0] + '.json',
method: 'GET',
scope: this,
success: function(response){
var item = Ext.decode(response.responseText);
main.addTab({
id: id,
xtype: 'repositoryBrowser',
repository: item,
revision: revision,
path: path,
closable: true
})
},
failure: function(result){
main.handleFailure(
result.status
);
}
Sonia.repository.get(params[0], function(repository){
main.addTab({
id: id,
xtype: 'repositoryBrowser',
repository: repository,
revision: revision,
path: path,
closable: true
})
});
}
}