Index: lams_central/web/includes/javascript/authoring/authoringGeneral.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/authoring/authoringGeneral.js,v diff -u -r1.72 -r1.73 --- lams_central/web/includes/javascript/authoring/authoringGeneral.js 8 Oct 2015 15:12:11 -0000 1.72 +++ lams_central/web/includes/javascript/authoring/authoringGeneral.js 8 Oct 2015 15:44:52 -0000 1.73 @@ -1754,22 +1754,6 @@ activity = this.activity; if (activity) { - if (activityData.applyGrouping) { - $.each(layout.activities, function(){ - if (this instanceof ActivityDefs.GroupingActivity - && this.groupingID == activityData.groupingID) { - // add reference and redraw the grouped activity - if (activity instanceof ActivityDefs.BranchingEdgeActivity) { - activity.branchingActivity.grouping = this; - } else { - activity.grouping = this; - activity.draw(); - } - return false; - } - }); - } - if (layout.floatingActivity && layout.floatingActivity.id == activityData.parentActivityID) { // add a Tool Activity as a Floating Activity element if (!layout.floatingActivity.childActivities) { @@ -1808,6 +1792,35 @@ } }); + // apply existing groupings + $.each(ld.activities, function(){ + var activityData = this, + activity = this.activity; + + if (activity && activityData.applyGrouping) { + $.each(layout.activities, function(){ + if (this instanceof ActivityDefs.GroupingActivity + && this.groupingID == activityData.groupingID) { + var grouping = this; + // add reference and redraw the grouped activity + if (activity instanceof ActivityDefs.BranchingEdgeActivity) { + activity.branchingActivity.grouping = grouping; + } else if (activity instanceof ActivityDefs.ParallelActivity) { + $.each(activity.childActivities, function(){ + this.grouping = grouping; + }); + activity.grouping = grouping; + activity.draw(); + } else { + activity.grouping = grouping; + activity.draw(); + } + return false; + } + }); + } + }); + // apply group -> branch mappings $.each(ld.branchMappings, function(){ var entry = this, Index: lams_central/web/includes/javascript/authoring/authoringProperty.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/authoring/authoringProperty.js,v diff -u -r1.32 -r1.33 --- lams_central/web/includes/javascript/authoring/authoringProperty.js 17 Aug 2015 08:23:41 -0000 1.32 +++ lams_central/web/includes/javascript/authoring/authoringProperty.js 8 Oct 2015 15:44:52 -0000 1.33 @@ -537,6 +537,9 @@ .data('grouping'); if (newGroupingValue != activity.grouping) { activity.grouping = newGroupingValue; + $.each(activity.childActivities, function(){ + this.grouping = newGroupingValue; + }); redrawNeeded = true; } @@ -615,17 +618,16 @@ */ toolProperties : function() { var activity = this, - content = activity.propertiesContent, - allowsGrouping = !this.parentActivity || !(this.parentActivity instanceof ActivityDefs.ParallelActivity); - + content = activity.propertiesContent; + if (!content) { // first run, create the content content = activity.propertiesContent = $('#propertiesContentTool').clone().attr('id', null) .show().data('parentObject', activity); $('.propertiesContentFieldTitle', content).val(activity.title); - if (!allowsGrouping) { - // parts of Parallel Activity can not be grouped - $('.propertiesContentFieldGrouping', content).closest('tr').remove(); + if (activity.parentActivity && (activity.parentActivity instanceof ActivityDefs.ParallelActivity)) { + // parts of Parallel Activity are grouped as the parent activity + $('.propertiesContentFieldGrouping', content).attr('disabled', 'disabled'); } if (activity.outputDefinitions) { @@ -674,9 +676,7 @@ }); } - if (allowsGrouping){ - PropertyLib.fillGroupingDropdown(activity, activity.grouping); - } + PropertyLib.fillGroupingDropdown(activity, activity.grouping); },