blob: 8d3c4d4e6cccd9b4137a597ee1e2b023a9f25a92 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007 Eclipse Foundation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Paul Colton (Aptana)- initial API and implementation
* Eclipse Foundation
*******************************************************************************/
YAHOO.projectManager = {
getAjaxProject: function(selectedIn){
var callback =
{
start:function(eventType, args){
},
success: function(o) {
var response = eval("("+o.responseText+")");
var domNode = document.getElementById('project-area');
// YAHOO.log(o.responseText);
domNode.innerHTML = "";
if(response){
for(var i = 0; i < response.length; i++){
var proj = new project(response[i]['project']);
domNode.appendChild(proj.createHTML());
if(response[i]['current']){
YAHOO.projectManager.updateSelected(proj, domNode.scrollHeight);
}
}
// domNode.innerHTML = o.responseText;
// YAHOO.util.Event.onAvailable("project-choices",setupSelectProjectCB);
//start versions
YAHOO.versionManager.getAjaxVersions();
} else{
domNode.innerHTML = "Please select a language to continue.";
}
},
failure: function(o) {
YAHOO.log('failed!');
}
}
//start spinner
var domNode = document.getElementById('project-area');
YAHOO.spinable.attach(domNode);
YAHOO.util.Connect.asyncRequest('GET', "callback/getProjects.php", callback, null);
},
getSelected: function(){
// YAHOO.log("projectManager getSelcted:"+this.selected);
return this.selected;
},
updateSelected: function(selec, scrollto_position){
if(this.selected){
this.selected.unselect();
}
this.selected = selec;
this.selected.selected();
var domNode = document.getElementById('project-area');
if(domNode.scrollTop == 0) {
domNode.scrollTop = scrollto_position;
}
}
};
function project(projectIn){
project.superclass.constructor.call();
this.project = projectIn;
this.initSelectable();
}
YAHOO.extend(project,selectable);
project.prototype.isSelected = function(){
return (this == YAHOO.projectManager.selected);
}
project.prototype.clicked = function(e){
YAHOO.util.Event.stopEvent(e);
var callback =
{
start:function(eventType, args){
},
success: function(o) {
YAHOO.versionManager.getAjaxVersions();
},
failure: function(o) {
YAHOO.log('failed!');
}
}
YAHOO.projectManager.updateSelected(this);
YAHOO.util.Connect.asyncRequest('POST', "callback/setCurrentProject.php", callback, "project="+this.project);
}
project.prototype.createHTML = function(){
this.domElem = document.createElement("li");
this.domElem.innerHTML = this.project;
this.addEvents();
return this.domElem;
}