Index: lams_central/web/includes/javascript/authoring/authoringGeneral.js
===================================================================
diff -u -r54613e14332031bce49e424b8e0ebc3700a2ccd7 -r6a65d13d5f6d98713395e42f43a466f1c0aab012
--- lams_central/web/includes/javascript/authoring/authoringGeneral.js (.../authoringGeneral.js) (revision 54613e14332031bce49e424b8e0ebc3700a2ccd7)
+++ lams_central/web/includes/javascript/authoring/authoringGeneral.js (.../authoringGeneral.js) (revision 6a65d13d5f6d98713395e42f43a466f1c0aab012)
@@ -1289,8 +1289,10 @@
// a shallow copy of activities array without inner activities
activitiesCopy = [],
// just to speed up processing when there are only activities with no transitions left
- onlyDetachedLeft = false;
-
+ onlyDetachedLeft = false,
+ // TBL sequences get arranged differently
+ isTBL = GeneralLib.checkTBLGrouping() !== null;
+
$.each(activities, function(){
if (!this.parentActivity || !(this.parentActivity instanceof DecorationDefs.Container)){
activitiesCopy.push(this);
@@ -1448,7 +1450,13 @@
}
// find the next row and column
- column = (column + 1) % maxColumns;
+ if (isTBL && activity instanceof ActivityDefs.GateActivity) {
+ // in TBL sequences break after each gate
+ column = 0;
+ } else {
+ column = (column + 1) % maxColumns;
+ }
+
if (column == 0) {
row++;
// if an Optional Activity forced next activities to be drawn lower than usual
@@ -1668,7 +1676,7 @@
this.draw();
}
});
- return activitiesToGroup.length === 0 ? null : activitiesToGroup;
+ return activitiesToGroup;
},
/**
@@ -3025,7 +3033,7 @@
if (layout.liveEdit) {
var missingGroupingOnActivities = GeneralLib.checkTBLGrouping();
- if (missingGroupingOnActivities) {
+ if (missingGroupingOnActivities && missingGroupingOnActivities.length > 0) {
var info = LABELS.SAVE_SUCCESSFUL_CHECK_GROUPING;
$.each(missingGroupingOnActivities, function(){
info += '
* ' + this.title;
@@ -3097,7 +3105,7 @@
if (!layout.ld.invalid) {
var missingGroupingOnActivities = GeneralLib.checkTBLGrouping();
- if (missingGroupingOnActivities) {
+ if (missingGroupingOnActivities && missingGroupingOnActivities.length > 0) {
var info = LABELS.SAVE_SUCCESSFUL_CHECK_GROUPING;
$.each(missingGroupingOnActivities, function(){
info += '
* ' + this.title;