Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java =================================================================== diff -u -r3204f658d524ea3441d010945c528872bbe5f732 -ra7d60b0e8528107dca422600d795227865462a22 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 3204f658d524ea3441d010945c528872bbe5f732) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision a7d60b0e8528107dca422600d795227865462a22) @@ -21,7 +21,6 @@ * **************************************************************** */ - package org.lamsfoundation.lams.monitoring.web; import java.io.IOException; @@ -1184,6 +1183,9 @@ || parentParentActivity.getActivityId().equals(branchingActivityId))) { activities.add(activity); } else { + if (parentParentActivity.isOptionsWithSequencesActivity()) { + activities.add(activity); + } // branching and options with sequences in Flash format have hidden activities // map the children to their parent for further processing Set children = parentToChildren.get(parentParentActivity.getActivityId()); @@ -1240,21 +1242,23 @@ activityJSON.put("type", activity.getActivityTypeId()); Activity parentActivity = activity.getParentActivity(); - if (activity.isBranchingActivity() && (activity.getXcoord() == null)) { + if (activity.isBranchingActivity() && flaFormat) { // old branching is just a rectangle like Tool // new branching has start and finish points, it's exploded activityJSON.put("x", MonitoringAction.getActivityCoordinate(((BranchingActivity) activity).getStartXcoord())); activityJSON.put("y", MonitoringAction.getActivityCoordinate(((BranchingActivity) activity).getStartYcoord())); - } else if (activity.isOptionsWithSequencesActivity() && (activity.getXcoord() == null)) { + } else if (activity.isOptionsWithSequencesActivity() && flaFormat) { // old optional sequences is just a long rectangle // new optional sequences has start and finish points, it's exploded activityJSON.put("x", MonitoringAction .getActivityCoordinate(((OptionsWithSequencesActivity) activity).getStartXcoord())); activityJSON.put("y", MonitoringAction .getActivityCoordinate(((OptionsWithSequencesActivity) activity).getStartYcoord())); } else if ((parentActivity != null) && (parentActivity.isOptionsActivity() + || (parentActivity.isSequenceActivity() + && parentActivity.getParentActivity().isOptionsWithSequencesActivity()) || parentActivity.isParallelActivity() || parentActivity.isFloatingActivity())) { // Optional Activity children had coordinates relative to parent activityJSON.put("x", MonitoringAction.getActivityCoordinate(parentActivity.getXcoord()) Index: lams_monitoring/web/includes/javascript/monitorLesson.js =================================================================== diff -u -r0253c4c9f0b4f3da5b0ba529f7853865d725c22b -ra7d60b0e8528107dca422600d795227865462a22 --- lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision 0253c4c9f0b4f3da5b0ba529f7853865d725c22b) +++ lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision a7d60b0e8528107dca422600d795227865462a22) @@ -906,7 +906,7 @@ $.each(response.activities, function(activityIndex, activity){ addActivityIconsHandlers(activity); - var isBranching = [10,11,12,13].indexOf(activity.type) > -1; + var isBranching = [10,11,12].indexOf(activity.type) > -1; if (activity.url || (isBranching && !flaFormat)) { var activityGroup = $('g[id="' + activity.id + '"]'), dblClickFunction = @@ -2198,11 +2198,11 @@ function dblTap(elem, dblClickFunction) { // double tap detection on mobile devices; it works also for mouse clicks elem.tap(function(event){ + var currentTime = new Date().getTime(); // is the second click on the same element as the first one? if (event.currentTarget == lastTapTarget) { // was the second click quick enough after the first one? - var currentTime = new Date().getTime(), - tapLength = currentTime - lastTapTime; + var tapLength = currentTime - lastTapTime; if (tapLength < tapTimeout && tapLength > 0) { event.preventDefault(); dblClickFunction(event);