Index: lams_central/web/includes/javascript/authoring/authoringActivity.js =================================================================== diff -u -rcfbe222136efc72d14e61537ebc809cd6912a723 -rf7bdb0b820dd3047c08763d965bb0cae0f5ea29b --- lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision cfbe222136efc72d14e61537ebc809cd6912a723) +++ lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision f7bdb0b820dd3047c08763d965bb0cae0f5ea29b) @@ -386,8 +386,9 @@ var activityY = y + 30, allElements = paper.set(), optionalActivity = this; - $.each(this.childActivities, function(){ + $.each(this.childActivities, function(orderID){ this.parentActivity = optionalActivity; + this.orderID = orderID + 1; this.draw(x + 20, activityY); activityY = this.items.shape.getBBox().y2 + 10; allElements.push(this.items.shape); @@ -424,8 +425,9 @@ var activityX = x + 20, allElements = paper.set(), floatingActivity = this; - $.each(this.childActivities, function(){ + $.each(this.childActivities, function(orderID){ this.parentActivity = floatingActivity; + this.orderID = orderID; this.draw(activityX, y + 30); activityX = this.items.shape.getBBox().x2 + 10; allElements.push(this.items.shape); Index: lams_central/web/includes/javascript/authoring/authoringGeneral.js =================================================================== diff -u -rcfbe222136efc72d14e61537ebc809cd6912a723 -rf7bdb0b820dd3047c08763d965bb0cae0f5ea29b --- lams_central/web/includes/javascript/authoring/authoringGeneral.js (.../authoringGeneral.js) (revision cfbe222136efc72d14e61537ebc809cd6912a723) +++ lams_central/web/includes/javascript/authoring/authoringGeneral.js (.../authoringGeneral.js) (revision f7bdb0b820dd3047c08763d965bb0cae0f5ea29b) @@ -370,7 +370,8 @@ 'learningDesignID' : learningDesignID, 'folderID' : ld.workspaceFolderID, 'contentFolderID' : ld.contentFolderID, - 'title' : ld.title + 'title' : ld.title, + 'maxUIID' : 0 }; $('#ldDescriptionFieldTitle').text(ld.title); @@ -788,7 +789,9 @@ var branchingActivity = this.branchingActivity; layoutActivities.push(branchingActivity); - $.each(branchingActivity.branches, function(){ + $.each(branchingActivity.branches, function(branchOrderID){ + this.defaultActivityUIID = null; + this.orderID = branchOrderID + 1; this.parentActivity = branchingActivity; layoutActivities.push(this); @@ -798,6 +801,9 @@ && !childActivity.isStart)) { childActivity.parentActivity = this; childActivity.orderID = orderID; + if (orderID == 1){ + this.defaultActivityUIID = childActivity.uiid; + } orderID++; childActivity = childActivity.transitions.from[0].toActivity; @@ -919,7 +925,7 @@ 'groupingUIID' : isGrouped ? activity.grouping.groupingUIID : null, 'createGroupingUIID' : activity instanceof ActivityLib.GroupingActivity ? activity.groupingUIID : null, 'parentActivityID' : activity.parentActivity ? activity.parentActivity.id : null, - 'parentUIID' : null, + 'parentUIID' : activity.parentActivity ? activity.parentActivity.uiid : null, 'libraryActivityUIImage' : iconPath, 'xCoord' : activityBox ? parseInt(activityBox.x) : null, 'yCoord' : activityBox ? parseInt(activityBox.y) : null, @@ -928,6 +934,7 @@ layout.toolMetadata[toolID].activityCategoryID : 1, 'activityTypeID' : activityTypeID, 'orderID' : activity.orderID, + 'defaultActivityUIID' : activity.defaultActivityUIID, 'gradebookToolOutputDefinitionName' : null, 'helpText' : null, @@ -977,7 +984,7 @@ 'dateReadOnly' : null, 'version' : null, 'contentFolderID' : layout.ld.contentFolderID, - 'saveMode' : 0, + 'saveMode' : learningDesignID ? 1 : 0, 'originalLearningDesignID' : null, 'activities' : activities, @@ -1038,7 +1045,7 @@ $.each(response.activities, function() { var updatedActivity = this; $.each(layout.activities, function(){ - if (this instanceof ActivityUtil.BranchingEdgeActivity && this.isStart) { + if (this instanceof ActivityLib.BranchingEdgeActivity && this.isStart) { if (updatedActivity.activityUIID == this.branchingActivity.uiid){ this.branchingActivity.id = updatedActivity.activityID; } else { Index: lams_central/web/includes/javascript/authoring/authoringMenu.js =================================================================== diff -u -r8cbf6623e512bb09cc14cf005aa443e2b48238d2 -rf7bdb0b820dd3047c08763d965bb0cae0f5ea29b --- lams_central/web/includes/javascript/authoring/authoringMenu.js (.../authoringMenu.js) (revision 8cbf6623e512bb09cc14cf005aa443e2b48238d2) +++ lams_central/web/includes/javascript/authoring/authoringMenu.js (.../authoringMenu.js) (revision f7bdb0b820dd3047c08763d965bb0cae0f5ea29b) @@ -274,10 +274,8 @@ * Opens "Save sequence" dialog where an user can choose where to save the Learning Design. */ saveLearningDesign : function(showDialog){ - if (!showDialog && layout.ld.learningDesignID) { - if (confirm('Are you sure you want to overwrite the existing sequence?')) { - saveLearningDesign(layout.ld.folderID, layout.ld.learningDesignID, layout.ld.title); - } + if (!showDialog) { + saveLearningDesign(layout.ld.folderID, layout.ld.learningDesignID, layout.ld.title); return; } @@ -439,7 +437,7 @@ if (row > maxRows) { maxRows++; resizePaper(paper.width, layout.conf.arrangeVerticalPadding - + maxColumns * layout.conf.arrangeVerticalSpace); + + maxRows * layout.conf.arrangeVerticalSpace); } // look for activities with transitions first; detached ones go to the very end @@ -487,6 +485,12 @@ if (!branchingFits) { // start branching from the left side of canvas row++; + if (forceRowY) { + while (forceRowY > layout.conf.arrangeVerticalPadding + 10 + row * layout.conf.arrangeVerticalSpace) { + row++; + } + forceRowY = null; + } column = 0; } // store the column of converge point @@ -628,6 +632,11 @@ if (layout.floatingActivity) { row++; + if (row >= maxRows) { + resizePaper(paper.width, layout.conf.arrangeVerticalPadding + + layout.floatingActivity.items.shape.getBBox().height + + row * layout.conf.arrangeVerticalSpace); + } column = 0; var x = layout.conf.arrangeHorizontalPadding, y = layout.conf.arrangeVerticalPadding - 30 + row * layout.conf.arrangeVerticalSpace;