Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -rb5a8e9ab4637d1ea1d21b674079706ab7ceb8388 -rd7386d2fcb02d7c398f5b9ec0909cbdad305383c Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -rb5a8e9ab4637d1ea1d21b674079706ab7ceb8388 -rd7386d2fcb02d7c398f5b9ec0909cbdad305383c Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchMappingDialog.as =================================================================== diff -u -r24a933e2927a758498ae27341b19baeb90ca0db3 -rd7386d2fcb02d7c398f5b9ec0909cbdad305383c --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchMappingDialog.as (.../BranchMappingDialog.as) (revision 24a933e2927a758498ae27341b19baeb90ca0db3) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchMappingDialog.as (.../BranchMappingDialog.as) (revision d7386d2fcb02d7c398f5b9ec0909cbdad305383c) @@ -64,7 +64,9 @@ private var match_dgd_lbl:Label; private var match_dgd:DataGrid; // Group-Branch Matching listbox - + + private var branches_loaded:Boolean; + private var fm:FocusManager; //Reference to focus manager private var themeManager:ThemeManager; //Theme manager public var app:Application; @@ -88,6 +90,7 @@ EventDispatcher.initialize(this); app = Application.getInstance(); + branches_loaded = false; //Create a clip that will wait a frame before dispatching init to give components time to setup this.onEnterFrame = init; @@ -201,5 +204,13 @@ public function set secondary(a:Array){ _secondary = a; } + + public function get branchesLoaded():Boolean { + return branches_loaded; + } + + public function set branchesLoaded(a:Boolean):Void { + branches_loaded = a; + } } \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ConditionMatchingDialog.as =================================================================== diff -u -rda1644d8e66121854689bf4c74caa46457502601 -rd7386d2fcb02d7c398f5b9ec0909cbdad305383c --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ConditionMatchingDialog.as (.../ConditionMatchingDialog.as) (revision da1644d8e66121854689bf4c74caa46457502601) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ConditionMatchingDialog.as (.../ConditionMatchingDialog.as) (revision d7386d2fcb02d7c398f5b9ec0909cbdad305383c) @@ -47,7 +47,7 @@ class ConditionMatchingDialog extends BranchMappingDialog { //References to components + clips - private var _branchingActivity:BranchingActivity; + private var _branchingActivity:BranchingActivity; //These are defined so that the compiler can 'see' the events that are added at runtime by EventDispatcher private var dispatchEvent:Function; @@ -104,8 +104,14 @@ conditions_lst.hScrollPolicy = "on"; conditions_lst.maxHPosition = 200; - branches_lst.dataProvider = branches; - branches_lst.labelField = "sequenceName"; + if(branchesLoaded) { + branches_lst.dataProvider = branches; + branches_lst.labelField = "sequenceName"; + } else { + branches_lst.dataProvider = sequences; + branches_lst.labelField = "title"; + } + branches_lst.hScrollPolicy = "on"; branches_lst.maxHPosition = 200; @@ -177,7 +183,12 @@ Debugger.log("clearing all unmapped conditions: " + conditions_lst.length, Debugger.CRITICAL, "cleanupUnmappedConditions", "ConditionMatchingDialog"); for(var i=0; i < conditions_lst.length; i++) { - setupMatch(conditions_lst.getItemAt(i), _branchingActivity.defaultBranch); + if(_branchingActivity.defaultBranch != null) + setupMatch(conditions_lst.getItemAt(i), _branchingActivity.defaultBranch); + else if(_branchingActivity.firstActivityUIID != null) + setupMatch(conditions_lst.getItemAt(i), app.getCanvas().ddm.getActivityByUIID(_branchingActivity.firstActivityUIID)); + else + Debugger.log("no default branch to map conditions too.", Debugger.CRITICAL, "cleanupUnmappedConditions", "ConditionMatchingDialog"); } conditions_lst.removeAll(); @@ -222,10 +233,11 @@ } } - private function setupMatch(condition:ToolOutputCondition, branch:Branch):Void { + private function setupMatch(condition:ToolOutputCondition, branch):Void { Debugger.log("condition: " + condition + " branch: " + branch, Debugger.CRITICAL, "setupMatch", "ConditionMatchingDialog"); - - var toMatch:ToolOutputBranchActivityEntry = new ToolOutputBranchActivityEntry(null, app.getCanvas().ddm.newUIID(), condition, branch.sequenceActivity, _branchingActivity); + var _seq:SequenceActivity = (branch instanceof Branch) ? branch.sequenceActivity : branch; + + var toMatch:ToolOutputBranchActivityEntry = new ToolOutputBranchActivityEntry(null, app.getCanvas().ddm.newUIID(), condition, _seq, _branchingActivity); match_dgd.addItem(toMatch); app.getCanvas().ddm.addBranchMapping(toMatch); @@ -254,17 +266,33 @@ } public function set branches(a:Array){ + branchesLoaded = true; _secondary = a; } + public function set sequences(a:Array){ + branchesLoaded = false; + _secondary = a; + } + public function get conditions():Array{ return _primary; } public function get branches():Array{ - return _secondary; + if(branchesLoaded) + return _secondary; + else + return null; } + public function get sequences():Array { + if(!branchesLoaded) + return _secondary; + else + return null; + } + public function get conditions_lst():List { return primary_lst; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/GroupMatchingDialog.as =================================================================== diff -u -r9aab591f71aa913ad9b848d8cd406728c171470b -rd7386d2fcb02d7c398f5b9ec0909cbdad305383c --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/GroupMatchingDialog.as (.../GroupMatchingDialog.as) (revision 9aab591f71aa913ad9b848d8cd406728c171470b) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/GroupMatchingDialog.as (.../GroupMatchingDialog.as) (revision d7386d2fcb02d7c398f5b9ec0909cbdad305383c) @@ -101,8 +101,14 @@ groups_lst.hScrollPolicy = "on"; groups_lst.maxHPosition = 200; - branches_lst.dataProvider = branches; - branches_lst.labelField = "sequenceName"; + if(branchesLoaded) { + branches_lst.dataProvider = branches; + branches_lst.labelField = "sequenceName"; + } else { + branches_lst.dataProvider = sequences; + branches_lst.labelField = "title"; + } + branches_lst.hScrollPolicy = "on"; branches_lst.maxHPosition = 200; @@ -187,10 +193,12 @@ } } - private function setupMatch(group:Group, branch:Branch):Void { + private function setupMatch(group:Group, branch):Void { Debugger.log("group: " + group + " branch: " + branch, Debugger.CRITICAL, "setupMatch", "GroupMatchingDialog"); - - var gbMatch:GroupBranchActivityEntry = new GroupBranchActivityEntry(null, app.getCanvas().ddm.newUIID(), group, branch.sequenceActivity, _branchingActivity); + + var _seq:SequenceActivity = (branch instanceof Branch) ? SequenceActivity(branch.sequenceActivity) : SequenceActivity(branch); + + var gbMatch:GroupBranchActivityEntry = new GroupBranchActivityEntry(null, app.getCanvas().ddm.newUIID(), group, _seq, _branchingActivity); match_dgd.addItem(gbMatch); app.getCanvas().ddm.addBranchMapping(gbMatch); @@ -219,17 +227,33 @@ } public function set branches(a:Array){ + branchesLoaded = true; _secondary = a; } + public function set sequences(a:Array){ + branchesLoaded = false; + _secondary = a; + } + public function get groups():Array{ return _primary; } public function get branches():Array{ - return _secondary; + if(branchesLoaded) + return _secondary; + else + return null; } + public function get sequences():Array { + if(!branchesLoaded) + return _secondary; + else + return null; + } + public function get groups_lst():List { return primary_lst; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ToolOutputConditionsDialog.as =================================================================== diff -u -r93a02624adff176042f98649f582d3c919b652d4 -rd7386d2fcb02d7c398f5b9ec0909cbdad305383c --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ToolOutputConditionsDialog.as (.../ToolOutputConditionsDialog.as) (revision 93a02624adff176042f98649f582d3c919b652d4) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/ToolOutputConditionsDialog.as (.../ToolOutputConditionsDialog.as) (revision d7386d2fcb02d7c398f5b9ec0909cbdad305383c) @@ -391,8 +391,16 @@ } private function removeAllItems(c:Boolean):Void { + var _item:ToolOutputDefinition = _toolOutputDefin_cmb.dataProvider[_toolOutputDefin_cmb.selectedIndex]; + + if(_item.type == null) { + returnDefinitionState(); + return; + } + clearAllButton_onPress(null, true); - if(c) selectDefinition(); + if(c) selectDefinition(true); + } private function validateCondition(selectedDefinition:ToolOutputDefinition):Boolean { @@ -479,7 +487,9 @@ Debugger.log("has mappings: " + app.getCanvas().ddm.hasBranchMappingsForConditionSet(_condition_item_dgd.dataProvider), Debugger.CRITICAL, "itemChanged", "ToolOutputConditionsDialog"); Debugger.log("dp length: " + _condition_item_dgd.dataProvider.length, Debugger.CRITICAL, "itemChanged", "ToolOutputConditionsDialog"); - if(app.getCanvas().ddm.hasBranchMappingsForConditionSet(_condition_item_dgd.dataProvider) && evt != null) { + _toolOutputLongOptions_cmb.selectedIndex = 0; + + if(app.getCanvas().ddm.hasBranchMappingsForConditionSet(_condition_item_dgd.dataProvider) && evt != null && _toolOutputDefin_cmb.selectedIndex != 0) { LFMessage.showMessageConfirm(Dictionary.getValue("branch_mapping_dlg_condition_linked_msg", [Dictionary.getValue("branch_mapping_dlg_condition_linked_all")]), Proxy.create(this, removeAllItems, true), Proxy.create(this, returnDefinitionState), Dictionary.getValue("al_continue"), null); } else if(evt != null) removeAllItems(true); else selectDefinition(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspectorControls.as =================================================================== diff -u -rb18810be6bdfea83a5c74ce79324d570ea98c8b0 -rd7386d2fcb02d7c398f5b9ec0909cbdad305383c --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspectorControls.as (.../PropertyInspectorControls.as) (revision b18810be6bdfea83a5c74ce79324d570ea98c8b0) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspectorControls.as (.../PropertyInspectorControls.as) (revision d7386d2fcb02d7c398f5b9ec0909cbdad305383c) @@ -1038,7 +1038,7 @@ private function onAppliedGroupingChange(evt:Object){ var a = _canvasModel.selectedItem; - //get the groupingUIID of the grouping Actviity we have selected. + // get the groupingUIID of the grouping Actviity we have selected. var newGroupingUIID = evt.target.value.createGroupingUIID; a.activity.groupingUIID = newGroupingUIID; if (a.activity.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE){ @@ -1077,10 +1077,13 @@ ca.activity.toolActivityUIID = (toolActivityUIID != 0) ? toolActivityUIID : null; ca.refresh(); - var branches:Object = _canvasModel.getCanvas().ddm.getBranchesForActivityUIID(ca.activity.activityUIID); - _conditions_setup_btn.visible = ((ca.activity.toolActivityUIID != null) && (branches.myBranches.length > 0)) ? true : false; - _tool_output_match_btn.visible = ((ca.activity.toolActivityUIID != null) && (branches.myBranches.length > 0)) ? true : false; - + var sequences:Array = _canvasModel.getCanvas().ddm.getComplexActivityChildren(_canvasModel.selectedItem.activity.activityUIID); + + if(hasConnectedSequences(sequences)) { + _conditions_setup_btn.visible = (ca.activity.toolActivityUIID != null) ? true : false; + _tool_output_match_btn.visible = (ca.activity.toolActivityUIID != null) ? true : false; + } + setModified(); } @@ -1097,11 +1100,8 @@ if(!v) { _tool_output_match_btn.visible = false; _conditions_setup_btn.visible = false; return; } - /** TODO: sequences with branching parent loaded in ddm instead */ - //var branches:Object = _canvasModel.getCanvas().ddm.getBranchesForActivityUIID(_canvasModel.selectedItem.activity.activityUIID); var sequences:Array = _canvasModel.getCanvas().ddm.getComplexActivityChildren(_canvasModel.selectedItem.activity.activityUIID); - if(hasConnectedSequences(sequences)) { if(_canvasModel.selectedItem.activity.toolActivityUIID != null) { _tool_output_match_btn.visible = v; @@ -1226,8 +1226,12 @@ evt.target.scrollContent.branchingActivity = BranchingActivity(_canvasModel.selectedItem.activity); evt.target.scrollContent.groups = grouping.getGroups(_canvasModel.getCanvas().ddm); - evt.target.scrollContent.branches = getValidBranches(branches.myBranches); - + + if(branches.myBranches.length > 0) + evt.target.scrollContent.branches = getValidBranches(branches.myBranches); + else + evt.target.scrollContent.sequences = _canvasModel.getCanvas().ddm.getComplexActivityChildren(_canvasModel.selectedItem.activity.activityUIID); + evt.target.scrollContent.loadLists(); } @@ -1248,8 +1252,12 @@ evt.target.scrollContent.branchingActivity = BranchingActivity(_canvasModel.selectedItem.activity); evt.target.scrollContent.conditions = conditions; - evt.target.scrollContent.branches = getValidBranches(branches.myBranches); + if(branches.myBranches.length > 0) + evt.target.scrollContent.branches = getValidBranches(branches.myBranches); + else + evt.target.scrollContent.sequences = _canvasModel.getCanvas().ddm.getComplexActivityChildren(_canvasModel.selectedItem.activity.activityUIID); + evt.target.scrollContent.loadLists(); }