Index: lams_tool_larsrc/conf/xdoclet/struts-actions.xml =================================================================== diff -u -r65296e0451eae1b3515d347b885318fc0a290e96 -r1bbc24766872de253e91283aab5a3ab475913a4b --- lams_tool_larsrc/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 65296e0451eae1b3515d347b885318fc0a290e96) +++ lams_tool_larsrc/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 1bbc24766872de253e91283aab5a3ab475913a4b) @@ -18,49 +18,45 @@ - - + parameter="newItemInit"> + + + + - - - - - - - + + + + resourceList = getResourceList(request); @@ -137,49 +140,50 @@ } return mapping.findForward(ResourceConstants.SUCCESS); } - private ActionForward editItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - return null; - } - private ActionForward editItemInit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { int itemIdx = NumberUtils.stringToInt(request.getParameter(ResourceConstants.PARAM_ITEM_INDEX),-1); ResourceItem item = null; if(itemIdx != -1){ List resourceList = getResourceList(request); item = resourceList.get(itemIdx); if(item != null){ - popuplateItemToForm(item,(ResourceItemForm) form,request); + popuplateItemToForm(itemIdx, item,(ResourceItemForm) form,request); } } return findForward(item==null?-1:item.getType(),mapping); } - private ActionForward addUrlInit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { + private ActionForward newItemlInit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { + short type = (short) NumberUtils.stringToInt(request.getParameter(ITEM_TYPE)); List instructionList = new ArrayList(INIT_INSTRUCTION_COUNT); for(int idx=0;idx instructionList = getInstructionsFromRequest(request); ResourceItemForm itemForm = (ResourceItemForm)form; - ActionErrors errors = new ActionErrors(); - if(StringUtils.isEmpty(itemForm.getTitle())) - errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage(ResourceConstants.ERROR_MSG_TITLE_BLANK)); - if(StringUtils.isEmpty(itemForm.getUrl())) - errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage(ResourceConstants.ERROR_MSG_URL_BLANK)); - + ActionErrors errors = validateResourceItem(itemForm); + if(!errors.isEmpty()){ this.addErrors(request,errors); request.setAttribute(ResourceConstants.ATTR_INSTRUCTION_LIST,instructionList); - return mapping.getInputForward(); + return findForward(itemForm.getItemType(),mapping); } - ResourceItem item = new ResourceItem(); + //check whether it is "edit(old item)" or "add(new item)" + List resourceList = getResourceList(request); + int itemIdx = NumberUtils.stringToInt(itemForm.getItemIndex(),-1); + ResourceItem item; + if(itemIdx == -1){ + item = new ResourceItem(); + resourceList.add(item); + }else + item = (ResourceItem) resourceList.get(itemIdx); item.setType(ResourceConstants.RESOURCE_TYPE_URL); item.setTitle(itemForm.getTitle()); item.setUrl(itemForm.getUrl()); @@ -190,27 +194,26 @@ item.setCreateByAuthor(true); item.setHide(false); //set instrcutions - Set instructions = new HashSet(); + Set instructions = new LinkedHashSet(); int idx=0; for (String ins : instructionList) { ResourceItemInstruction rii = new ResourceItemInstruction(); rii.setDescription(ins); rii.setSequenceId(idx++); + instructions.add(rii); } item.setItemInstructions(instructions); - List resourceList = getResourceList(request); - resourceList.add(item); //return null to close this window return mapping.findForward(ResourceConstants.SUCCESS); } private ActionForward newInstruction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - int count = NumberUtils.stringToInt(request.getParameter("instructionCount"),0); + int count = NumberUtils.stringToInt(request.getParameter(INSTRUCTION_ITEM_COUNT),0); List instructionList = new ArrayList(++count); for(int idx=0;idx instructionList = new ArrayList(); for(int idx=0;idx=0) + form.setItemIndex(new Integer(itemIdx).toString()); - request.setAttribute(ResourceConstants.ATTR_INSTRUCTION_LIST,item.getItemInstructions()); + Set instructionList = item.getItemInstructions(); + List instructions = new ArrayList(); + for(ResourceItemInstruction in : instructionList){ + instructions.add(in.getDescription()); + } + //add extra blank line for instructions + for(int idx=0;idx" + idx; - + var reqIDVar = new Date(); + var url = "" + idx +"&reqID="+reqIDVar.getTime(); + showMessage(url); } + + var resourceListTargetDiv = "resourceListArea"; function deleteItem(idx){ - var url = "" + idx; - + var url = ""; + var reqIDVar = new Date(); + var param = "itemIndex=" + idx +"&reqID="+reqIDVar.getTime(); + deleteItemLoading(); + var myAjax = new Ajax.Updater( + resourceListTargetDiv, + url, + { + method:'get', + parameters:param, + onComplete:deleteItemComplete, + evalScripts:true + } + ); } + function deleteItemLoading(){ + showBusy(resourceListTargetDiv); + } + function deleteItemComplete(){ + hideBusy(resourceListTargetDiv); + + } + function showBusy(targetDiv){ + if($(targetDiv+"_Busy") != null){ + Element.show(targetDiv+"_Busy"); + } + } + function hideBusy(targetDiv){ + if($(targetDiv+"_Busy") != null){ + Element.hide(targetDiv+"_Busy"); + } + } @@ -64,22 +98,22 @@ - ');"> + ');"> - ');"> + ');"> - ');"> + ');"> - ');"> + ');"> Index: lams_tool_larsrc/web/pages/authoring/parts/addurl.jsp =================================================================== diff -u -r65296e0451eae1b3515d347b885318fc0a290e96 -r1bbc24766872de253e91283aab5a3ab475913a4b --- lams_tool_larsrc/web/pages/authoring/parts/addurl.jsp (.../addurl.jsp) (revision 65296e0451eae1b3515d347b885318fc0a290e96) +++ lams_tool_larsrc/web/pages/authoring/parts/addurl.jsp (.../addurl.jsp) (revision 1bbc24766872de253e91283aab5a3ab475913a4b) @@ -45,6 +45,25 @@ } ); } + function upItem(itemIdx){ + if(itemIdx == 0) + return; + var currId = "instructionItemDesc" + itemIdx; + var repId = "instructionItemDesc" + (--itemIdx); + switchValue(currId,repId); + } + function downItem(itemIdx,maxSize){ + if(itemIdx == (maxSize -1)) + return; + var currId = "instructionItemDesc" + itemIdx; + var repId = "instructionItemDesc" + (++itemIdx); + switchValue(currId,repId); + } + function switchValue(currId,repId){ + var temp = $(repId).value; + $(repId).value = $(currId).value; + $(currId).value= temp; + } function removeInstructionLoading(){ showBusy(instructionTargetDiv); } @@ -83,8 +102,10 @@ <%@ include file="/common/messages.jsp" %> - + + + Index: lams_tool_larsrc/web/pages/authoring/parts/instructions.jsp =================================================================== diff -u -r2bca18fdc19c445365cc6d676c61c12efe5057e6 -r1bbc24766872de253e91283aab5a3ab475913a4b --- lams_tool_larsrc/web/pages/authoring/parts/instructions.jsp (.../instructions.jsp) (revision 2bca18fdc19c445365cc6d676c61c12efe5057e6) +++ lams_tool_larsrc/web/pages/authoring/parts/instructions.jsp (.../instructions.jsp) (revision 1bbc24766872de253e91283aab5a3ab475913a4b) @@ -1,5 +1,6 @@ <%@ include file="/common/taglibs.jsp" %> + @@ -14,10 +15,18 @@ ${status.index+1} - - - + + + + + + + + + + + @@ -29,7 +38,7 @@ Index: lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp =================================================================== diff -u -r65296e0451eae1b3515d347b885318fc0a290e96 -r1bbc24766872de253e91283aab5a3ab475913a4b --- lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp (.../itemlist.jsp) (revision 65296e0451eae1b3515d347b885318fc0a290e96) +++ lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp (.../itemlist.jsp) (revision 1bbc24766872de253e91283aab5a3ab475913a4b) @@ -1,53 +1,79 @@ <%@ include file="/common/taglibs.jsp" %> - + - + + <%-- Resource Type:1=URL,2=File,3=Website,4=Learning Object --%> - + ${resource.title} - - " - onclick="verifyUrl('${resource.url}','Verify URL')"> + + " + onclick="verifyUrl('${resource.url}','VerifyURL')" class="button"> - - " - onclick="editItem(${status.index})"> + + " + onclick="editItem(${status.index})" class="button"> - - " - onclick="deleteItem(${status.index})"> + + " + onclick="deleteItem(${status.index})" class="button"> - + ${resource.title} - "> - "> - "> + + " + onclick="preview()" class="button"> + + + + onclick="editItem(${status.index})" class="button"> + + + " + onclick="deleteItem(${status.index})" class="button"> + - + - "> - "> - "> + + "> + + + " + onclick="editItem(${status.index})" class="button"> + + + " + onclick="deleteItem(${status.index})" class="button"> + - + - "> - "> - "> + + "> + + + " + onclick="editItem(${status.index})" class="button"> + + + " + onclick="deleteItem(${status.index})" class="button"> +