Author: liem_nguyen
Date: 2009-11-11 02:42:29 -0500 (Wed, 11 Nov 2009)
New Revision: 559
Modified:
portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIPopupWindow/Stylesheet.css
portal/trunk/web/portal/src/main/webapp/groovy/portal/webui/portal/UIPortalComposer.gtmpl
portal/trunk/web/portal/src/main/webapp/groovy/webui/core/UIWizard.gtmpl
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageWizard.java
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComposer.java
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIMainActionListener.java
Log:
GTNPORTAL-42 The Page Editor popup is closed when creating a new page
Comment: Move action buttons into Composer
Modified:
portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIPopupWindow/Stylesheet.css
===================================================================
---
portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIPopupWindow/Stylesheet.css 2009-11-11
03:03:45 UTC (rev 558)
+++
portal/trunk/web/eXoResources/src/main/webapp/skin/DefaultSkin/webui/component/UIPopup/UIPopupWindow/Stylesheet.css 2009-11-11
07:42:29 UTC (rev 559)
@@ -56,6 +56,16 @@
background: url('background/TopExitBtn.gif') no-repeat right bottom;
}
+.UIPopupWindow .BackButton {
+ float: right; /* orientation=lt */
+ float: left; /* orientation=rt */
+ margin: 5px 3px 0px 0px; /* orientation=lt */
+ margin: 5px 0px 0px 3px; /* orientation=rt */
+ cursor: pointer;
+ width: 18px; height: 18px;
+ background: url('background/BackBtn.gif') no-repeat right bottom;
+}
+
.UIPopupWindow .TopLeftCornerDecorator {
background: url('background/TopPopup.png') no-repeat left top;
padding-left: 8px;
@@ -190,6 +200,14 @@
width: 25px;
}
+.UIPortalComposer .BackButton {
+ background: #666666 no-repeat scroll right bottom; /* orientation=lt */
+ background: #666666 no-repeat scroll left bottom; /* orientation=rt */
+ width: 25px;
+ height: 17px;
+ margin: 6px 0px 0px 0px;
+}
+
.UIPortalComposer .EdittedSaveButton {
background: transparent url(background/SaveIcon.gif) no-repeat scroll right bottom; /*
orientation=lt */
background: transparent url(background/SaveIcon-rt.gif) no-repeat scroll left bottom; /*
orientation=rt */
Modified:
portal/trunk/web/portal/src/main/webapp/groovy/portal/webui/portal/UIPortalComposer.gtmpl
===================================================================
---
portal/trunk/web/portal/src/main/webapp/groovy/portal/webui/portal/UIPortalComposer.gtmpl 2009-11-11
03:03:45 UTC (rev 558)
+++
portal/trunk/web/portal/src/main/webapp/groovy/portal/webui/portal/UIPortalComposer.gtmpl 2009-11-11
07:42:29 UTC (rev 559)
@@ -16,6 +16,11 @@
<% if(uicomponent.isShowControl) { %>
<a class="CloseButton" title="<%=_ctx.appRes(popupId +
".action.Abort")%>"
href="<%=uicomponent.event("Abort")%>"><span></span></a>
<a class="<%= isEditted ? "EdittedSaveButton" :
"SaveButton" %>" title="<%=_ctx.appRes(popupId +
".action.Finish")%>"
href="<%=uicomponent.event("Finish")%>"><span></span></a>
+ <% if (uicomponent.isUsedInWizard()) { %>
+ <a class="BackButton"" title="<%=_ctx.appRes(popupId +
".action.Back")%>"
href="<%=uicomponent.event("Back")%>">
+ <span></span>
+ </a>
+ <% } %>
<% } %>
<div class="PopupTitle"><%=_ctx.appRes(popupId +
".title."+ popupId)%></div>
</div>
Modified: portal/trunk/web/portal/src/main/webapp/groovy/webui/core/UIWizard.gtmpl
===================================================================
--- portal/trunk/web/portal/src/main/webapp/groovy/webui/core/UIWizard.gtmpl 2009-11-11
03:03:45 UTC (rev 558)
+++ portal/trunk/web/portal/src/main/webapp/groovy/webui/core/UIWizard.gtmpl 2009-11-11
07:42:29 UTC (rev 559)
@@ -57,7 +57,7 @@
<table class="ActionContainer">
<tr>
<td>
-
+ <% if (uicomponent.isShowActions()) { %>
<div onclick="<%=uicomponent.event("Abort",
"");%>" class="ActionButton LightBlueStyle">
<div class="ButtonLeft">
<div class="ButtonRight">
@@ -103,8 +103,10 @@
</div>
</div>
</div>
- <% } %>
-
+ <% } %>
+
+
+ <%} // End if (step != 3)%>
</td>
</tr>
</table>
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java
===================================================================
---
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java 2009-11-11
03:03:45 UTC (rev 558)
+++
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java 2009-11-11
07:42:29 UTC (rev 559)
@@ -42,7 +42,6 @@
import org.exoplatform.webui.config.annotation.ComponentConfig;
import org.exoplatform.webui.config.annotation.ComponentConfigs;
import org.exoplatform.webui.config.annotation.EventConfig;
-import org.exoplatform.webui.core.UIContainer;
import org.exoplatform.webui.event.Event;
import org.exoplatform.webui.event.EventListener;
@@ -182,6 +181,8 @@
uiWizard.updateWizardComponent();
uiWizard.viewStep(FIRST_STEP);
+
+ uiWizard.setShowActions(true);
UIWorkingWorkspace uiWorkingWS =
uiWizard.getAncestorOfType(UIWorkingWorkspace.class);
uiWorkingWS.findFirstComponentOfType(UIPortalComposer.class).setRendered(false);
@@ -193,6 +194,7 @@
public void execute(Event<UIPageCreationWizard> event) throws Exception
{
UIPageCreationWizard uiWizard = event.getSource();
+ uiWizard.setShowActions(true);
UIPortalApplication uiPortalApp =
uiWizard.getAncestorOfType(UIPortalApplication.class);
UIWorkingWorkspace uiWorkingWS =
uiWizard.getAncestorOfType(UIWorkingWorkspace.class);
uiWorkingWS.findFirstComponentOfType(UIPortalComposer.class).setRendered(false);
@@ -268,6 +270,7 @@
public void execute(Event<UIPageCreationWizard> event) throws Exception
{
UIPageCreationWizard uiWizard = event.getSource();
+ uiWizard.setShowActions(false);
UIPortalApplication uiPortalApp =
uiWizard.getAncestorOfType(UIPortalApplication.class);
UIWorkingWorkspace uiWorkingWS =
uiWizard.getAncestorOfType(UIWorkingWorkspace.class);
WebuiRequestContext context = Util.getPortalRequestContext();
@@ -360,6 +363,7 @@
public void execute(Event<UIPageCreationWizard> event) throws Exception
{
UIPageCreationWizard uiWizard = event.getSource();
+ uiWizard.setShowActions(true);
UIPortalApplication uiPortalApp =
uiWizard.getAncestorOfType(UIPortalApplication.class);
UIWorkingWorkspace uiWorkingWS =
uiWizard.getAncestorOfType(UIWorkingWorkspace.class);
uiWorkingWS.findFirstComponentOfType(UIPortalComposer.class).setRendered(false);
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageWizard.java
===================================================================
---
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageWizard.java 2009-11-11
03:03:45 UTC (rev 558)
+++
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageWizard.java 2009-11-11
07:42:29 UTC (rev 559)
@@ -42,6 +42,8 @@
private int numberStep_;
private boolean showWelcome = true;
+
+ private boolean showActions = true;
public UIPageWizard() throws Exception
{
@@ -61,6 +63,16 @@
return numberStep_;
}
+ public boolean isShowActions()
+ {
+ return showActions;
+ }
+
+ public void setShowActions(boolean showActions)
+ {
+ this.showActions = showActions;
+ }
+
public void processRender(WebuiRequestContext context) throws Exception
{
super.processRender(context);
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComposer.java
===================================================================
---
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComposer.java 2009-11-11
03:03:45 UTC (rev 558)
+++
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComposer.java 2009-11-11
07:42:29 UTC (rev 559)
@@ -52,8 +52,10 @@
import org.exoplatform.webui.core.UIComponent;
import org.exoplatform.webui.core.UIContainer;
import org.exoplatform.webui.core.UITabPane;
+import org.exoplatform.webui.core.UIWizard;
import org.exoplatform.webui.event.Event;
import org.exoplatform.webui.event.EventListener;
+import org.exoplatform.webui.event.Event.Phase;
import java.util.List;
@@ -70,6 +72,7 @@
@EventConfig(name = "ViewProperties", listeners =
UIPortalComposer.ViewProperties2ActionListener.class),
@EventConfig(name = "Abort", listeners =
UIPortalComposer.Abort2ActionListener.class),
@EventConfig(name = "Finish", listeners =
UIPortalComposer.Finish2ActionListener.class),
+ @EventConfig(name = "Back", listeners =
UIPortalComposer.BackActionListener.class),
@EventConfig(listeners = UIPortalComposer.SwitchModeActionListener.class),
@EventConfig(listeners = UIPortalComposer.ChangeEdittedStateActionListener.class),
@EventConfig(listeners = UIPortalComposer.ToggleActionListener.class)}),
@@ -135,6 +138,18 @@
isShowControl = state;
}
+ public boolean isUsedInWizard()
+ {
+ UIWorkingWorkspace uiWorkingWS = getAncestorOfType(UIWorkingWorkspace.class);
+ UIPortalToolPanel uiToolPanel =
uiWorkingWS.findFirstComponentOfType(UIPortalToolPanel.class);
+ UIComponent uicomponent = uiToolPanel.getUIComponent();
+ if (uicomponent != null && uicomponent instanceof UIWizard)
+ {
+ return true;
+ }
+ return false;
+ }
+
public void save() throws Exception
{
PortalRequestContext prContext = Util.getPortalRequestContext();
@@ -426,19 +441,19 @@
switch (portalMode)
{
- case UIPortalApplication.APP_BLOCK_EDIT_MODE:
+ case UIPortalApplication.APP_BLOCK_EDIT_MODE :
uiPortalApp.setModeState(UIPortalApplication.APP_VIEW_EDIT_MODE);
break;
- case UIPortalApplication.APP_VIEW_EDIT_MODE:
+ case UIPortalApplication.APP_VIEW_EDIT_MODE :
uiPortalApp.setModeState(UIPortalApplication.APP_BLOCK_EDIT_MODE);
break;
- case UIPortalApplication.CONTAINER_BLOCK_EDIT_MODE:
+ case UIPortalApplication.CONTAINER_BLOCK_EDIT_MODE :
uiPortalApp.setModeState(UIPortalApplication.CONTAINER_VIEW_EDIT_MODE);
break;
- case UIPortalApplication.CONTAINER_VIEW_EDIT_MODE:
+ case UIPortalApplication.CONTAINER_VIEW_EDIT_MODE :
uiPortalApp.setModeState(UIPortalApplication.CONTAINER_BLOCK_EDIT_MODE);
break;
- default:
+ default :
uiPortalApp.setModeState(UIPortalApplication.NORMAL_MODE);
return;
}
@@ -522,6 +537,14 @@
UIPortalToolPanel uiToolPanel =
uiWorkingWS.findFirstComponentOfType(UIPortalToolPanel.class);
UIPortalComposer composer =
uiWorkingWS.findFirstComponentOfType(UIPortalComposer.class).setRendered(false);
composer.setEditted(false);
+ if (composer.isUsedInWizard()) {
+ UIWizard wizard = (UIWizard)uiToolPanel.getUIComponent();
+ int step = wizard.getCurrentStep();
+ step ++;
+ Event<UIComponent> uiEvent = wizard.createEvent("ViewStep" +
step, Phase.PROCESS, event.getRequestContext());
+ uiEvent.broadcast();
+ return;
+ }
UIPage uiPage = uiToolPanel.findFirstComponentOfType(UIPage.class);
//
@@ -552,4 +575,21 @@
jsManager.addJavascript("eXo.portal.portalMode=" +
UIPortalApplication.NORMAL_MODE + ";");
}
}
+
+ static public class BackActionListener extends EventListener<UIPortalComposer>
+ {
+ public void execute(Event<UIPortalComposer> event) throws Exception
+ {
+ UIPortalComposer composer = event.getSource();
+ if (composer.isUsedInWizard()) {
+ UIWorkingWorkspace uiWorkingWS =
composer.getAncestorOfType(UIWorkingWorkspace.class);
+ UIPortalToolPanel uiToolPanel =
uiWorkingWS.findFirstComponentOfType(UIPortalToolPanel.class);
+ UIWizard wizard = (UIWizard)uiToolPanel.getUIComponent();
+ int step = wizard.getCurrentStep();
+ step --;
+ Event<UIComponent> uiEvent = wizard.createEvent("ViewStep" +
step, Phase.PROCESS, event.getRequestContext());
+ uiEvent.broadcast();
+ }
+ }
+ }
}
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIMainActionListener.java
===================================================================
---
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIMainActionListener.java 2009-11-11
03:03:45 UTC (rev 558)
+++
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIMainActionListener.java 2009-11-11
07:42:29 UTC (rev 559)
@@ -103,9 +103,9 @@
portalComposer.setRendered(false);
portalComposer.setComponentConfig(UIPortalComposer.class,
"UIPageEditor");
portalComposer.setId("UIPageEditor");
- portalComposer.setShowControl(false);
- portalComposer.setEditted(false);
- portalComposer.setCollapse(true);
+ portalComposer.setShowControl(true);
+ portalComposer.setEditted(true);
+ portalComposer.setCollapse(false);
UIPortalToolPanel uiToolPanel =
uiWorkingWS.findFirstComponentOfType(UIPortalToolPanel.class);
uiToolPanel.setShowMaskLayer(false);