mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Completion of dialog framework enabling all remaining pages in the web client to be converted.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6857 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1156,4 +1156,9 @@ public class DocumentDetailsBean extends BaseDetailsBean implements IDialogBean
|
||||
{
|
||||
baseDialogBean.restored();
|
||||
}
|
||||
|
||||
public Object getActionsContext()
|
||||
{
|
||||
return baseDialogBean.getActionsContext();
|
||||
}
|
||||
}
|
||||
|
@@ -657,4 +657,9 @@ public class SpaceDetailsBean extends BaseDetailsBean implements IDialogBean
|
||||
{
|
||||
baseDialogBean.restored();
|
||||
}
|
||||
|
||||
public Object getActionsContext()
|
||||
{
|
||||
return baseDialogBean.getActionsContext();
|
||||
}
|
||||
}
|
||||
|
@@ -31,6 +31,7 @@ import java.util.Map;
|
||||
|
||||
import javax.faces.context.FacesContext;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||
@@ -146,6 +147,8 @@ public abstract class BaseDialogBean implements IDialogBean
|
||||
|
||||
public List<DialogButtonConfig> getAdditionalButtons()
|
||||
{
|
||||
// none by default, subclasses can override if necessary
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -166,19 +169,40 @@ public abstract class BaseDialogBean implements IDialogBean
|
||||
|
||||
public String getContainerTitle()
|
||||
{
|
||||
// nothing by default, subclasses can override if necessary
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getContainerSubTitle()
|
||||
{
|
||||
// nothing by default, subclasses can override if necessary
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getContainerDescription()
|
||||
{
|
||||
// nothing by default, subclasses can override if necessary
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public Object getActionsContext()
|
||||
{
|
||||
// return the current node as the context for actions be default
|
||||
// dialog implementations can override this method to return the
|
||||
// appropriate object for their use case
|
||||
|
||||
if (this.navigator == null)
|
||||
{
|
||||
throw new AlfrescoRuntimeException("To use actions in the dialog the 'navigator' " +
|
||||
"property must be injected with an instance of NavigationBean!");
|
||||
}
|
||||
|
||||
return this.navigator.getCurrentNode();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param browseBean The BrowseBean to set.
|
||||
*/
|
||||
|
@@ -270,9 +270,19 @@ public final class DialogManager
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the page the dialog will use
|
||||
*
|
||||
* @return The page
|
||||
*/
|
||||
public String getPage()
|
||||
{
|
||||
return this.currentDialogState.getConfig().getPage();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the id of a configured action group representing the actions to
|
||||
* display for the dialog.
|
||||
* display for the dialog
|
||||
*
|
||||
* @return The action group id
|
||||
*/
|
||||
@@ -282,13 +292,96 @@ public final class DialogManager
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the page the dialog will use
|
||||
* Returns the id of a configured action group representing the
|
||||
* 'more actions' to display for the dialog
|
||||
*
|
||||
* @return The page
|
||||
* @return The action group id
|
||||
*/
|
||||
public String getPage()
|
||||
public String getMoreActions()
|
||||
{
|
||||
return this.currentDialogState.getConfig().getPage();
|
||||
return this.currentDialogState.getConfig().getMoreActionsConfigId();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the object to use as the context for the main and more
|
||||
* actions that may be configured by the dialog
|
||||
*
|
||||
* @return Object to use as the context for actions, the current
|
||||
* node by default
|
||||
*/
|
||||
public Object getActionsContext()
|
||||
{
|
||||
return this.currentDialogState.getDialog().getActionsContext();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the label to use for the main actions when a menu is being used
|
||||
*
|
||||
* @return The actions menu label
|
||||
*/
|
||||
public String getActionsMenuLabel()
|
||||
{
|
||||
// try and get the label via a message bundle key
|
||||
String label = this.currentDialogState.getConfig().getActionsMenuLabelId();
|
||||
|
||||
if (label != null)
|
||||
{
|
||||
label = Application.getMessage(FacesContext.getCurrentInstance(), label);
|
||||
}
|
||||
else
|
||||
{
|
||||
// try and get the description from the configuration
|
||||
label = this.currentDialogState.getConfig().getActionsMenuLabel();
|
||||
}
|
||||
|
||||
// if the label is still null use the default of 'Create'
|
||||
if (label == null)
|
||||
{
|
||||
label = Application.getMessage(FacesContext.getCurrentInstance(), "create_options");
|
||||
}
|
||||
|
||||
return label;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the label to use for the more actions menu
|
||||
*
|
||||
* @return The more actions menu label
|
||||
*/
|
||||
public String getMoreActionsMenuLabel()
|
||||
{
|
||||
// try and get the label via a message bundle key
|
||||
String label = this.currentDialogState.getConfig().getMoreActionsMenuLabelId();
|
||||
|
||||
if (label != null)
|
||||
{
|
||||
label = Application.getMessage(FacesContext.getCurrentInstance(), label);
|
||||
}
|
||||
else
|
||||
{
|
||||
// try and get the description from the configuration
|
||||
label = this.currentDialogState.getConfig().getMoreActionsMenuLabel();
|
||||
}
|
||||
|
||||
// if the label is still null use the default of 'More Actions'
|
||||
if (label == null)
|
||||
{
|
||||
label = Application.getMessage(FacesContext.getCurrentInstance(), "more_actions");
|
||||
}
|
||||
|
||||
return label;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether the main actions should be rendered as a
|
||||
* menu
|
||||
*
|
||||
* @return true to render the main set of actions as a menu, false
|
||||
* to render them as a horizontal list
|
||||
*/
|
||||
public boolean getActionsAsMenu()
|
||||
{
|
||||
return this.currentDialogState.getConfig().getActionsAsMenu();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -303,7 +396,7 @@ public final class DialogManager
|
||||
|
||||
/**
|
||||
* Determines whether the current dialog should display the next
|
||||
* and previous buttons in the header area.
|
||||
* and previous buttons in the header area
|
||||
*
|
||||
* @return true if navigation support is enabled
|
||||
*/
|
||||
@@ -314,7 +407,7 @@ public final class DialogManager
|
||||
|
||||
/**
|
||||
* Determines whether the current dialog should display the list
|
||||
* of views in the header area.
|
||||
* of views in the header area
|
||||
*
|
||||
* @return true if change view support is enabled
|
||||
*/
|
||||
@@ -325,7 +418,7 @@ public final class DialogManager
|
||||
|
||||
/**
|
||||
* Determines whether the current dialog should display the list
|
||||
* of filters in the header area.
|
||||
* of filters in the header area
|
||||
*
|
||||
* @return true if filter support is enabled
|
||||
*/
|
||||
|
@@ -116,4 +116,12 @@ public interface IDialogBean
|
||||
* @return The title or null if the title is to be acquired via configuration
|
||||
*/
|
||||
public String getContainerDescription();
|
||||
|
||||
/**
|
||||
* Returns the object to use as the context for the main and more
|
||||
* actions that may be configured by the dialog
|
||||
*
|
||||
* @return Object to use as the context for actions
|
||||
*/
|
||||
public Object getActionsContext();
|
||||
}
|
||||
|
@@ -310,6 +310,13 @@ input,textarea,select
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
.dialogMainActions
|
||||
{
|
||||
padding-left: 2px;
|
||||
padding-right: 5px;
|
||||
vertical-align: -1px;
|
||||
}
|
||||
|
||||
.topToolbar
|
||||
{
|
||||
}
|
||||
|
@@ -75,18 +75,93 @@
|
||||
<table cellspacing="4" cellpadding="0" width="100%">
|
||||
<tr>
|
||||
<td width="32">
|
||||
<h:graphicImage id="wizard-logo" url="#{DialogManager.icon}" />
|
||||
<h:graphicImage id="dialog-logo" url="#{DialogManager.icon}" />
|
||||
</td>
|
||||
<td>
|
||||
<td width="100%">
|
||||
<div class="mainTitle"><h:outputText value="#{DialogManager.title}" /></div>
|
||||
<div class="mainSubTitle"><h:outputText value="#{DialogManager.subTitle}" /></div>
|
||||
<div class="mainSubText"><h:outputText value="#{DialogManager.description}" /></div>
|
||||
</td>
|
||||
<td style="padding-left:4px" align="right">
|
||||
<r:actions id="dialog_actions" value="#{DialogManager.actions}"
|
||||
context="#{NavigationBean.currentNode}" />
|
||||
<td>
|
||||
<table cellspacing="4" cellpadding="1" width="100%">
|
||||
<tr>
|
||||
<%-- Main actions --%>
|
||||
<a:panel id="main-actions-panel" rendered="#{DialogManager.actions != null}">
|
||||
<td style="white-space: nowrap;">
|
||||
<r:actions id="main_actions_list" rendered="#{DialogManager.actionsAsMenu == false}"
|
||||
styleClass="dialogMainActions" value="#{DialogManager.actions}"
|
||||
context="#{DialogManager.actionsContext}" />
|
||||
|
||||
<a:menu id="main_actions_menu" rendered="#{DialogManager.actionsAsMenu == true}"
|
||||
itemSpacing="4" image="/images/icons/menu.gif" menuStyleClass="moreActionsMenu"
|
||||
style="white-space: nowrap" label="#{DialogManager.actionsMenuLabel}">
|
||||
<r:actions id="main_actions_menu_items" value="#{DialogManager.actions}"
|
||||
context="#{DialogManager.actionsContext}" />
|
||||
</a:menu>
|
||||
</td>
|
||||
</a:panel>
|
||||
|
||||
<%-- More actions menu --%>
|
||||
<a:panel id="more-actions-panel" rendered="#{DialogManager.moreActions != null}">
|
||||
<td style="padding-left: 4px" width="80">
|
||||
<a:menu id="more_actions_menu" itemSpacing="4" image="/images/icons/menu.gif"
|
||||
menuStyleClass="moreActionsMenu" style="white-space:nowrap"
|
||||
label="#{DialogManager.moreActionsMenuLabel}">
|
||||
<r:actions id="more_actions_menu_items" value="#{DialogManager.moreActions}"
|
||||
context="#{DialogManager.actionsContext}" />
|
||||
</a:menu>
|
||||
</td>
|
||||
</a:panel>
|
||||
|
||||
<%-- View Filters --%>
|
||||
<a:panel id="filters-panel" rendered="#{DialogManager.filterListVisible}">
|
||||
<td class="separator" width="1">
|
||||
<img src="<%=request.getContextPath()%>/images/parts/dotted_separator.gif" border="0" height="29" width="1" />
|
||||
</td>
|
||||
<td style="padding-left: 4px" width="80" valign="middle">
|
||||
<a:modeList itemSpacing="3" iconColumnWidth="20" selectedStyleClass="statusListHighlight"
|
||||
selectedImage="/images/icons/filter.gif" menu="true" styleClass="moreActionsMenu"
|
||||
menuImage="/images/icons/menu.gif" value="#{DialogManager.bean.filterMode}"
|
||||
actionListener="#{DialogManager.bean.filterModeChanged}">
|
||||
<a:listItems value="#{DialogManager.bean.filterItems}" />
|
||||
</a:modeList>
|
||||
</td>
|
||||
</a:panel>
|
||||
|
||||
<%-- View Mode --%>
|
||||
<a:panel id="views-panel" rendered="#{DialogManager.viewListVisible}">
|
||||
<td class="separator" width="1">
|
||||
<img src="<%=request.getContextPath()%>/images/parts/dotted_separator.gif" border="0" height="29" width="1" />
|
||||
</td>
|
||||
<td style="padding-left: 4px" width="80" valign="middle">
|
||||
<a:modeList itemSpacing="3" iconColumnWidth="20" selectedStyleClass="statusListHighlight"
|
||||
selectedImage="/images/icons/Details.gif" menu="true" styleClass="moreActionsMenu"
|
||||
menuImage="/images/icons/menu.gif" value="#{DialogManager.bean.viewMode}"
|
||||
actionListener="#{DialogManager.bean.viewModeChanged}">
|
||||
<a:listItems value="#{DialogManager.bean.viewItems}" />
|
||||
</a:modeList>
|
||||
</td>
|
||||
</a:panel>
|
||||
|
||||
<%-- Navigation --%>
|
||||
<a:panel id="nav-panel" rendered="#{DialogManager.navigationVisible}">
|
||||
<td style="padding-left: 10px; white-space: nowrap;" valign="middle">
|
||||
<a:actionLink id="act-prev" value="#{msg.previous_item}" image="/images/icons/nav_prev.gif"
|
||||
showLink="false" actionListener="#{DialogManager.bean.previousItem}">
|
||||
<f:param name="id" value="#{DialogManager.bean.currentItemId}" />
|
||||
</a:actionLink>
|
||||
<img src="<%=request.getContextPath()%>/images/icons/nav_file.gif" width="24" height="24" align="absmiddle" />
|
||||
<a:actionLink id="act-next" value="#{msg.next_item}" image="/images/icons/nav_next.gif"
|
||||
showLink="false" actionListener="#{DialogManager.bean.nextItem}">
|
||||
<f:param name="id" value="#{DialogManager.bean.currentItemId}" />
|
||||
</a:actionLink>
|
||||
</td>
|
||||
</a:panel>
|
||||
|
||||
<td><div style="width: 5px;"> </div></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
Reference in New Issue
Block a user