Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/ContributeActivitiesProcessor.java =================================================================== diff -u -r5b6e51b5d96619f619209830fdab0ed1ef572c05 -r00a56a2712593b8d628581120151259020c1c67e --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/ContributeActivitiesProcessor.java (.../ContributeActivitiesProcessor.java) (revision 5b6e51b5d96619f619209830fdab0ed1ef572c05) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/ContributeActivitiesProcessor.java (.../ContributeActivitiesProcessor.java) (revision 00a56a2712593b8d628581120151259020c1c67e) @@ -98,8 +98,9 @@ ContributeActivityDTO dto = null; // always attempt to get a dto, as some branching activities require contribution. dto = ContributeDTOFactory.getContributeActivityDTO(lessonID, activity, toolService, currentActivityList); - - currentActivityList = (Vector) activityListStack.pop(); + Vector topActivityList = (Vector) activityListStack.pop(); + topActivityList.addAll(currentActivityList); + currentActivityList = topActivityList; if (dto != null) { currentActivityList.add(dto); } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java =================================================================== diff -u -rfe06d16b234341fc965d9b40494e6a2fb4cb9438 -r00a56a2712593b8d628581120151259020c1c67e --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision fe06d16b234341fc965d9b40494e6a2fb4cb9438) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 00a56a2712593b8d628581120151259020c1c67e) @@ -1100,7 +1100,25 @@ responseJSON.put("activities", new JSONArray(activitiesMap.values())); responseJSON.put("numberPossibleLearners", lessonDetails.getNumberPossibleLearners()); List contributeActivities = getContributeActivities(lessonId, true); + // remove "attention required" marker for hidden activities in Flash Authoring if (contributeActivities != null) { + Iterator activityIterator = contributeActivities.iterator(); + while (activityIterator.hasNext()) { + ContributeActivityDTO contributeActivityDTO = activityIterator.next(); + Activity contributeActivity = monitoringService.getActivityById(contributeActivityDTO.getActivityID()); + Activity topParentActivity = contributeActivity.getParentActivity() == null ? null : contributeActivity + .getParentActivity().getParentActivity(); + + if ((branchingActivityId == null) + && (topParentActivity != null) + && (topParentActivity.isBranchingActivity() || topParentActivity + .isOptionsWithSequencesActivity())) { + JSONObject topContributeActivityJSON = activitiesMap.get(topParentActivity.getActivityId()); + if (!Boolean.TRUE.equals(JsonUtil.opt(topContributeActivityJSON, "flaFormat"))) { + activityIterator.remove(); + } + } + } Gson gson = new GsonBuilder().create(); responseJSON.put("contributeActivities", new JSONArray(gson.toJson(contributeActivities))); } Index: lams_monitoring/web/includes/javascript/monitorLesson.js =================================================================== diff -u -r8fb65aa233a7a3fdf2d315ae2cbae0677d998989 -r00a56a2712593b8d628581120151259020c1c67e --- lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision 8fb65aa233a7a3fdf2d315ae2cbae0677d998989) +++ lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision 00a56a2712593b8d628581120151259020c1c67e) @@ -816,7 +816,8 @@ $.each(response.activities, function(activityIndex, activity){ addActivityIconsHandlers(activity); - if (activity.url || (activity.isBranching && !activity.flaFormat)) { + var isBranching = [10,11,12,13].indexOf(activity.type) > -1; + if (activity.url || (isBranching && !activity.flaFormat)) { // find the activity in SVG var coord = getActivityCoordinates(activity); if (!coord || !coord.elem) { @@ -826,7 +827,7 @@ var activityElems = [coord.elem], dblClickFunction = // different behaviour for regular/branching activities - activity.isBranching ? + isBranching ? function(){ showBranchingSequence(activity.id); } : function(){