Index: lams_central/src/flash/org/lamsfoundation/lams/wizard/WizardView.as
===================================================================
diff -u -rf44b6a75a25937117bdb05ed3923f868ecbeb587 -r61df758c93005d286d8162e5fb9f8249b264b8e8
--- lams_central/src/flash/org/lamsfoundation/lams/wizard/WizardView.as (.../WizardView.as) (revision f44b6a75a25937117bdb05ed3923f868ecbeb587)
+++ lams_central/src/flash/org/lamsfoundation/lams/wizard/WizardView.as (.../WizardView.as) (revision 61df758c93005d286d8162e5fb9f8249b264b8e8)
@@ -61,8 +61,18 @@
//private var bkg_pnl:MovieClip;
private var org_treeview:Tree; //Treeview for navigation through workspace folder structure
+
+ // step 1 UI elements
+ private var currentPath_lbl:Label;
private var location_treeview:Tree;
+ // step 2 UI elements
+ private var title_lbl:Label;
+ private var resourceTitle_txi:TextInput;
+ private var desc_lbl:Label;
+ private var resourceDesc_txa:TextArea;
+
+ // step 3 UI elements
private var _staffList:Array;
private var _learnerList:Array;
private var _learner_mc:MovieClip;
@@ -72,13 +82,21 @@
private var learner_scp:MovieClip; // learners container
private var learner_lbl:Label;
- //private var input_txt:TextInput;
- private var currentPath_lbl:Label;
- private var title_lbl:Label;
- private var resourceTitle_txi:TextInput;
- private var desc_lbl:Label;
- private var resourceDesc_txa:TextArea;
+ // step 4 UI elements
+ private var staff_grp_lbl:Label;
+ private var learner_grp_lbl:Label;
+ private var staff_grp_txi:TextInput;
+ private var learner_grp_txi:TextInput;
+ // step 5 UI elements
+ private var schedule_cb:CheckBox;
+ private var start_btn:Button;
+ private var schedule_time:MovieClip;
+ private var summery_lbl:Label;
+ private var summery_scp:MovieClip;
+ private var _summery_mc:MovieClip;
+ private var _summeryList:Array;
+
//Dimensions for resizing
private var xOkOffset:Number;
private var yOkOffset:Number;
@@ -131,6 +149,8 @@
currentPath_lbl.text = ""+Dictionary.getValue('ws_dlg_location_button')+":"
+ // event listeners
+
trace('org tree:' + org_treeview);
MovieClipUtils.doLater(Proxy.create(this,draw));
@@ -153,6 +173,7 @@
case 'USERS_LOADED' :
loadLearners(wm.organisation.getLearners());
loadStaff(wm.organisation.getStaff());
+ _wizardController.clearBusy();
break;
case 'POSITION' :
setPosition(wm);
@@ -226,6 +247,9 @@
prev_btn.addEventListener('click',Delegate.create(this, prev));
finish_btn.addEventListener('click',Delegate.create(this, finish));
cancel_btn.addEventListener('click',Delegate.create(this, cancel));
+ start_btn.addEventListener('click', Delegate.create(this, start));
+ schedule_cb.addEventListener("click", Delegate.create(this, scheduleChange));
+
//Set up the treeview
setUpTreeview();
//itemSelected(location_treeview.selectedNode, WorkspaceModel(workspaceView.getModel()));
@@ -278,12 +302,16 @@
* @usage
* @return
*/
- private function setUpBranchesInit(treeview:Tree, data:XML){
+ private function setUpBranchesInit(treeview:Tree, data:XML, hideRoot:Boolean){
Debugger.log('Running...',Debugger.GEN,'setUpBranchesInit','org.lamsfoundation.lams.wizard.WizardView');
//get the 1st child
trace(data)
- treeview.dataProvider = data;
- var fNode = location_treeview.dataProvider.firstChild;
+ if(hideRoot){
+ treeview.dataProvider = data.firstChild;
+ } else {
+ treeview.dataProvider = data;
+ }
+ var fNode = treeview.dataProvider.firstChild;
trace(fNode);
setBranches(fNode);
treeview.refresh();
@@ -298,7 +326,7 @@
*/
private function setUpTreeview(){
- setUpBranchesInit(location_treeview, WorkspaceModel(workspaceView.getModel()).treeDP);
+ setUpBranchesInit(location_treeview, WorkspaceModel(workspaceView.getModel()).treeDP, false);
_workspaceController = _workspaceView.getController();
location_treeview.addEventListener("nodeOpen", Delegate.create(_workspaceController, _workspaceController.onTreeNodeOpen));
location_treeview.addEventListener("nodeClose", Delegate.create(_workspaceController, _workspaceController.onTreeNodeClose));
@@ -315,7 +343,7 @@
//Debugger.log('_workspaceView:'+_workspaceView,Debugger.GEN,'setUpTreeview','org.lamsfoundation.lams.common.ws.WorkspaceDialog');
- setUpBranchesInit(org_treeview, WizardModel(getModel()).treeDP);
+ setUpBranchesInit(org_treeview, WizardModel(getModel()).treeDP, true);
org_treeview.addEventListener("nodeOpen", Delegate.create(_wizardController, _wizardController.onTreeNodeOpen));
org_treeview.addEventListener("nodeClose", Delegate.create(_wizardController, _wizardController.onTreeNodeClose));
@@ -393,7 +421,7 @@
* Called by the NEXT button
*
*/
- private function next(){
+ private function next(evt:Object){
trace('NEXT CLICKED');
_global.breakpoint();
var wm:WizardModel = WizardModel(getModel());
@@ -403,25 +431,38 @@
}
}
- private function prev(){
+ private function prev(evt:Object){
trace('PREV CLICKED');
var wm:WizardModel = WizardModel(getModel());
- if(validateStep(wm)){
- wm.stepID--;
- trace('new step ID: ' + wm.stepID);
- }
+ wm.stepID--;
+ trace('new step ID: ' + wm.stepID);
}
- private function finish(){
+ private function finish(evt:Object){
trace('FINISH CLICKED');
}
- private function cancel(){
+ private function start(evt:Object){
+ trace('START CLICKED');
+ }
+
+ private function cancel(evt:Object){
// close window
trace('CANCEL CLICKED');
//getURL('javascript:window.close()');
}
+ private function scheduleChange(evt:Object){
+ trace(evt.target);
+ trace('schedule clicked : ' + schedule_cb.selected);
+ var isSelected:Boolean = schedule_cb.selected;
+ if(isSelected){
+ schedule_time.f_enableTimeSelect(true);
+ } else {
+ schedule_time.f_enableTimeSelect(false);
+ }
+ }
+
// SCREEN UPDATES
private function updateScreen(cl_step:Number, sh_step:Number){
@@ -442,6 +483,11 @@
case 4:
clearStep4();
break;
+ case 5:
+ clearStep5();
+ break;
+ default:
+ trace('unknown step');
}
switch(sh_step){
@@ -460,6 +506,11 @@
case 4:
showStep4();
break;
+ case 5:
+ showStep5();
+ break;
+ default:
+ trace('unknown step');
}
@@ -481,6 +532,9 @@
case 4:
return validateStep4(wm);
break;
+ case 4:
+ return validateStep5(wm);
+ break;
default:
return false;
break;
@@ -518,6 +572,19 @@
staff_scp.visible = false;
learner_lbl.visible = false;
learner_scp.visible = false;
+
+ // hide step 4 (Startup)
+ staff_grp_lbl.visible = false;
+ learner_grp_lbl.visible = false;
+ staff_grp_txi.visible = false;
+ learner_grp_txi.visible = false;
+
+ // hide step 5 (Startup)
+ start_btn.visible = false;
+ summery_scp.visible = false;
+ summery_lbl.visible = false;
+ schedule_cb.visible = false;
+ schedule_time._visible = false;
}
private function clearStep1():Void{
@@ -580,6 +647,10 @@
valid = false;
}
+ if(valid){
+ resultDTO.resourceTitle = resourceTitle_txi.text;
+ resultDTO.resourceDescription = resourceDesc_txa.text;
+ }
return valid;
}
@@ -605,18 +676,164 @@
learner_scp.visible = false;
}
private function validateStep3(wm:WizardModel):Boolean{
- return true;
+ _global.breakpoint();
+
+ var valid:Boolean = true;
+ var snode = org_treeview.selectedNode;
+ var pnode = snode.parentNode;
+ var learnerCount:Number = 0;
+ var staffCount:Number = 0;
+
+ if(snode == null){
+ trace('no course/class selected');
+ return false;
+ } else {
+ // add selected users to dto
+ trace('learners')
+
+
+ for(var i=0; i