mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
. First cut of the Externalised UI Actions
- XML Config for UI actions: web-client-config-actions.xml - commented examples are included in the config, I will write up a Wiki page to document it properly :) - Named groups of actions can also be reused across screens (where as previously individual ActionLink components had to be coded up for each screen by hand in the JSP) - Individual Actions can be reused across action groups or defined against a specific action group - UI actions for Browse (Create, More, Document and Space actions), Document and Space details pages now externalised into config - Refactoring of other JSPs to use externalised config - big reduction in hand coded JSF tags and code duplication between pages . Document Details and Space Details pages now have Actions panel on the right hand side instead of an Actions drop-down menu . Several unreported minor bugs fixed where actions conditions or listeners were inconsistent between browse and details pages git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2553 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -17,6 +17,11 @@
|
||||
*/
|
||||
package org.alfresco.web.app;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.faces.component.UIComponent;
|
||||
import javax.faces.context.FacesContext;
|
||||
import javax.faces.event.PhaseEvent;
|
||||
import javax.faces.event.PhaseId;
|
||||
import javax.faces.event.PhaseListener;
|
||||
@@ -33,30 +38,67 @@ public class DebugPhaseListener implements PhaseListener
|
||||
{
|
||||
private static final Log logger = LogFactory.getLog(DebugPhaseListener.class);
|
||||
|
||||
public int indent = 0;
|
||||
public static final String INDENT = " ";
|
||||
|
||||
/**
|
||||
* @see javax.faces.event.PhaseListener#afterPhase(javax.faces.event.PhaseEvent)
|
||||
*/
|
||||
public void afterPhase(PhaseEvent event)
|
||||
{
|
||||
if (logger.isDebugEnabled())
|
||||
logger.debug("********** Exiting phase: " + event.getPhaseId().toString());
|
||||
{
|
||||
printComponentTree(FacesContext.getCurrentInstance().getViewRoot());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see javax.faces.event.PhaseListener#beforePhase(javax.faces.event.PhaseEvent)
|
||||
*/
|
||||
public void beforePhase(PhaseEvent event)
|
||||
{
|
||||
if (logger.isDebugEnabled())
|
||||
logger.debug("********** Entering phase: " + event.getPhaseId().toString());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see javax.faces.event.PhaseListener#getPhaseId()
|
||||
*/
|
||||
public PhaseId getPhaseId()
|
||||
{
|
||||
return PhaseId.ANY_PHASE;
|
||||
return PhaseId.RENDER_RESPONSE;
|
||||
}
|
||||
|
||||
|
||||
public void printComponentTree(UIComponent comp){
|
||||
printComponentInfo(comp);
|
||||
|
||||
List complist = comp.getChildren();
|
||||
if (complist.size()>0)
|
||||
indent++;
|
||||
for (int i = 0; i < complist.size(); i++) {
|
||||
UIComponent uicom = (UIComponent) complist.get(i);
|
||||
printComponentTree(uicom);
|
||||
if (i+1 == complist.size())
|
||||
indent--;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void printComponentInfo(UIComponent comp){
|
||||
|
||||
if (comp.getId() == null){
|
||||
logger.debug("UIViewRoot" + " " + "(" + comp.getClass().getName() + ")");
|
||||
} else {
|
||||
logger.debug(getIndent() + "|");
|
||||
logger.debug(getIndent() + comp.getId() + " " + "(" + comp.getClass().getName() + ")");
|
||||
}
|
||||
}
|
||||
|
||||
public String getIndent()
|
||||
{
|
||||
String indent = "";
|
||||
for (int i=0; i<this.indent; i++)
|
||||
{
|
||||
indent += INDENT;
|
||||
}
|
||||
return indent;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user