Index: pageorder/tool/src/bundle/org/sakaiproject/tool/pageorder/bundle/Messages.properties =================================================================== --- pageorder/tool/src/bundle/org/sakaiproject/tool/pageorder/bundle/Messages.properties (revision 814) +++ pageorder/tool/src/bundle/org/sakaiproject/tool/pageorder/bundle/Messages.properties (working copy) @@ -2,8 +2,12 @@ cancel_message=Cancel ordering changes save=Save save_message=Save ordering changes +savejh=Save +savejh_message=Save changes reset=Reset reset_message=Reset page ordering to default order +back=Back +back_message=Unsaved changes will be lost confirm_reset_message=Are you sure you want to reset your page ordering to the default order? There is no undo. title=Title url=URL @@ -20,7 +24,8 @@ cancel_page_edit=Cancel changes made to page: {0} save_page_edit=Save changes made to page: {0} -page_click_n_drag=Click and drag the pages into the order that you want +#page_click_n_drag=Click and drag the pages into the order that you want +page_click_n_drag=Click Move/Rename button to toggle tool sorting and name editing show_add=Add page(s) to your site @@ -32,7 +37,8 @@ error_pageid=A valid 'pageId' is required -welcome=Hint: Changes to the page ordering will not take effect until you click 'Save'. Deleting, Adding, or Editing a Page takes place immediately. Pressing either the Save or Cancel buttons returns you to the Main Site Info Tool Page. +#welcome=Hint: Changes to the page ordering will not take effect until you click 'Save'. Deleting, Adding, or Editing a Page takes place immediately. Pressing either the Save or Cancel buttons returns you to the Main Site Info Tool Page. +welcome=Hint: Click 'Sort/Rename' to toggle between sorting and name editing options. Changes will not take full effect until you have clicked 'Save' & 'Back'. Click 'Back' to return to the Main Site Info Tool Page. add_prompt=Revising site tools for {0} ... add_inst=Select the tools you would like added to your site. Index: pageorder/tool/src/java/org/sakaiproject/site/tool/helper/order/impl/SitePageEditHandler.java =================================================================== --- pageorder/tool/src/java/org/sakaiproject/site/tool/helper/order/impl/SitePageEditHandler.java (revision 814) +++ pageorder/tool/src/java/org/sakaiproject/site/tool/helper/order/impl/SitePageEditHandler.java (working copy) @@ -284,6 +284,38 @@ return "done"; } + public String savePagesjh () { + if (state != null) { + String[] pages = state.split(" "); + for (int i = 0; i < pages.length; i++) { + if (pages[i] != null) { + SitePage realPage = site.getPage(pages[i]); + realPage.setPosition(i); + } + } + site.setCustomPageOrdered(true); + try { + siteService.save(site); + EventTrackingService.post( + EventTrackingService.newEvent(SITE_REORDER, "/site/" + site.getId(), false)); + + } + catch (IdUnusedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + catch (PermissionException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + ToolSession session = sessionManager.getCurrentToolSession(); + session.setAttribute(ATTR_TOP_REFRESH, Boolean.TRUE); + + return ""; + } + /** * Allows the Cancel button to return control to the tool calling this helper * Index: pageorder/tool/src/java/org/sakaiproject/site/tool/helper/order/rsf/PageListProducer.java =================================================================== --- pageorder/tool/src/java/org/sakaiproject/site/tool/helper/order/rsf/PageListProducer.java (revision 814) +++ pageorder/tool/src/java/org/sakaiproject/site/tool/helper/order/rsf/PageListProducer.java (working copy) @@ -81,12 +81,18 @@ SitePage page = sitePages.get(key); UIBranchContainer pagerow = UIBranchContainer.make(pageForm, "page-row:", page.getId()); - + UIBranchContainer pagerowjh = + UIBranchContainer.make(pageForm, "page-rowjh:", page.getId()); + pagerow.decorate(new UITooltipDecorator(UIMessage.make("page_click_n_drag"))); + pagerowjh.decorate(new UITooltipDecorator(UIMessage.make("page_click_n_drag"))); UIOutput.make(pagerow, "page-name", page.getTitle()); UIInput.make(pagerow, "page-name-input", "#{SitePageEditHandler.nil}", page.getTitle()); UIMessage.make(pagerow, "page-name-label", "title"); + UIOutput.make(pagerowjh, "page-name", page.getTitle()); + UIInput.make(pagerowjh, "page-name-input", "#{SitePageEditHandler.nil}", page.getTitle()); + UIMessage.make(pagerowjh, "page-name-label", "title"); //nameLabel.decorate(new UILabelTargetDecorator(name)); @@ -109,6 +115,16 @@ fullyDecorate(UIOutput.make(pagerow, "cancel-edit-link"), UIMessage.make("cancel_page_edit", pageTitle)); + + fullyDecorate(UIInternalLink.make(pagerowjh, "edit-link", param), + UIMessage.make("page_edit", pageTitle)); + + fullyDecorate(UIInternalLink.make(pagerowjh, "save-edit-link", param), + UIMessage.make("save_page_edit", pageTitle)); + + fullyDecorate(UIOutput.make(pagerowjh, "cancel-edit-link"), + UIMessage.make("cancel_page_edit", pageTitle)); + } if (page.getTools().size() == 1) { @@ -122,6 +138,8 @@ param.viewID = PageDelProducer.VIEW_ID; fullyDecorate(UIInternalLink.make(pagerow, "del-link", param), UIMessage.make("page_remove", pageTitle)); + fullyDecorate(UIInternalLink.make(pagerowjh, "del-link", param), + UIMessage.make("page_remove", pageTitle)); } // allow special configuration for the iframe tool. This needs to be generalized @@ -130,6 +148,9 @@ if ("sakai.iframe".equals(tool.getToolId())) { UIInput.make(pagerow, "page-config-input", "#{SitePageEditHandler.nil}", tool.getPlacementConfig().getProperty("source")); + UIInput.make(pagerowjh, "page-config-input", "#{SitePageEditHandler.nil}", + tool.getPlacementConfig().getProperty("source")); + } } @@ -139,19 +160,28 @@ param.visible = "false"; fullyDecorate(UIInternalLink.make(pagerow, "hide-link", param), UIMessage.make("page_hide", pageTitle)); + fullyDecorate(UIInternalLink.make(pagerowjh, "hide-link", param), + UIMessage.make("page_hide", pageTitle)); param.visible = "true"; fullyDecorate(UIInternalLink.make(pagerow, "show-link-off", param), UIMessage.make("page_show", pageTitle)); + fullyDecorate(UIInternalLink.make(pagerowjh, "show-link-off", param), + UIMessage.make("page_show", pageTitle)); } else { param.visible = "true"; fullyDecorate(UIInternalLink.make(pagerow, "show-link", param), UIMessage.make("page_show", pageTitle)); + fullyDecorate(UIInternalLink.make(pagerowjh, "show-link", param), + UIMessage.make("page_show", pageTitle)); param.visible = "false"; fullyDecorate(UIInternalLink.make(pagerow, "hide-link-off", param), UIMessage.make("page_hide", pageTitle)); + fullyDecorate(UIInternalLink.make(pagerowjh, "hide-link-off", param), + UIMessage.make("page_hide", pageTitle)); + } } @@ -161,9 +191,15 @@ UIInput.make(pageForm, "state-init", "#{SitePageEditHandler.state}", state); fullyDecorate(UICommand.make(pageForm, "save", UIMessage.make("save"), "#{SitePageEditHandler.savePages}"), UIMessage.make("save_message")); + + fullyDecorate(UICommand.make(pageForm, "savejh", UIMessage.make("savejh"), "#{SitePageEditHandler.savePagesjh}"), + UIMessage.make("savejh_message")); - fullyDecorate(UICommand.make(pageForm, "revert", UIMessage.make("cancel"), "#{SitePageEditHandler.cancel}"), - UIMessage.make("cancel_message")); + fullyDecorate(UICommand.make(pageForm, "revert", UIMessage.make("back"), "#{SitePageEditHandler.cancel}"), + UIMessage.make("back_message")); + +// fullyDecorate(UICommand.make(pageForm, "revert", UIMessage.make("cancel"), "#{SitePageEditHandler.cancel}"), +// UIMessage.make("cancel_message")); if (handler.isSiteOrdered()) { fullyDecorate(UICommand.make(pageForm, "reset", UIMessage.make("reset"), "#{SitePageEditHandler.reset}"), Index: pageorder/tool/src/webapp/content/css/PageList.css =================================================================== --- pageorder/tool/src/webapp/content/css/PageList.css (revision 814) +++ pageorder/tool/src/webapp/content/css/PageList.css (working copy) @@ -8,6 +8,55 @@ margin: 4px; padding: 6px; } + +ul.sortable_grey +{ + width: 300px; + list-style: none; + margin: 4px; + padding: 6px; +opacity: .2; +filter: alpha(opacity=20); +} +ul.sortable_invis +{ + width: 300px; + list-style: none; + margin: 4px; + padding: 6px; +background-color: #ddd; +opacity: .0; +filter: alpha(opacity=0); +display:none; +} + + +ul.not_sortable +{ + width: 300px; + list-style: none; + margin: 4px; + padding: 6px; +} +ul.not_sortable_grey +{ + width: 300px; + list-style: none; + margin: 4px; + padding: 6px; +opacity: .2; +filter: alpha(opacity=20); +} +ul.not_sortable_invis +{ + width: 0px; + list-style: none; + margin: 4px; + padding: 6px; +display:none; +} + + ul.sortable { width: 300px; @@ -27,6 +76,23 @@ padding: 4px; border: 1px solid #666; } +li.not_sortable_item +{ + cursor: move; + width: 100%; + margin: 2px; + padding: 4px; + border: 1px solid #666; +} +li.not_sortable_item_invis +{ + cursor: move; + width: 0px; + margin: 2px; + padding: 4px; + border: 1px solid #666; +display:none; +} li.editable_item { width: 100%; @@ -62,9 +128,19 @@ { display: inline; position: absolute; - left: 260px; + left: 650px; width: 65px; } +.item_control_box_invis +{ + display: inline; + position: absolute; + left: 650px; + width: 65px; +opacity: .0; +filter: alpha(opacity=0); +display: none; +} .item_label_box { display: inline; @@ -82,6 +158,23 @@ { padding: 10px; } + +.tool_list_not_sortable +{ + padding: 10px; +} +.tool_list_grey +{ + padding: 10px; +opacity: .2; +filter: alpha(opacity=20); +} +.tool_list_invis +{ + padding: 10px; +visibility: hidden; +} + .option_list { padding: 10px; Index: pageorder/tool/src/webapp/content/js/orderUtil.js =================================================================== --- pageorder/tool/src/webapp/content/js/orderUtil.js (revision 814) +++ pageorder/tool/src/webapp/content/js/orderUtil.js (working copy) @@ -144,9 +144,9 @@ $(li).find(".item_label_box").attr("style", "display: inline"); $(li).find(".item_control_box").show(); $(li).find(".item_control_box").attr("style", "display: inline"); - $(li).addClass("sortable_item"); + //$(li).addClass("sortable_item"); $(li).removeClass("editable_item"); - makeSortable($(li).parent()); + //makeSortable($(li).parent()); } }); } @@ -158,10 +158,10 @@ $(li).find(".item_label_box").attr("style", "display: inline"); $(li).find(".item_control_box").show(); $(li).find(".item_control_box").attr("style", "display: inline"); - $(li).addClass("sortable_item"); + //$(li).addClass("sortable_item"); $(li).removeClass("editable_item"); $(li).find(".new_title").val($(li).find(".item_label_box").text()); - makeSortable($(li).parent()); + //makeSortable($(li).parent()); } function checkReset() { Index: pageorder/tool/src/webapp/content/templates/PageList.html =================================================================== --- pageorder/tool/src/webapp/content/templates/PageList.html (revision 814) +++ pageorder/tool/src/webapp/content/templates/PageList.html (working copy) @@ -14,6 +14,31 @@ + + + + + @@ -29,10 +54,15 @@

- - + + +

+

+ + +

+ + + + + + + + + +
@@ -41,6 +71,25 @@
  • + +
    +
  • +
+
    +
  • + +
  • +
+ + +
+
+
    +
- + +
    +
  • +
  • +
+ +
-