- Added marker icon next to multilingual fields in property sheets i.e. title and description

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6198 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gavin Cornwell
2007-07-09 14:44:08 +00:00
parent 1aee1b369e
commit d533004036
10 changed files with 310 additions and 22 deletions

View File

@@ -14,7 +14,7 @@
<show-property name="title" display-label-id="title" <show-property name="title" display-label-id="title"
ignore-if-missing="false" /> ignore-if-missing="false" />
<show-property name="description" display-label-id="description" <show-property name="description" display-label-id="description"
ignore-if-missing="false" component-generator="TextAreaGenerator" /> ignore-if-missing="false" component-generator="MultilingualTextAreaGenerator" />
<show-property name="author" display-label-id="author" <show-property name="author" display-label-id="author"
ignore-if-missing="false" /> ignore-if-missing="false" />
<show-property name="size" display-label-id="size" <show-property name="size" display-label-id="size"
@@ -32,7 +32,7 @@
<show-property name="title" display-label-id="title" <show-property name="title" display-label-id="title"
ignore-if-missing="false" /> ignore-if-missing="false" />
<show-property name="description" display-label-id="description" <show-property name="description" display-label-id="description"
ignore-if-missing="false" component-generator="TextAreaGenerator" /> ignore-if-missing="false" component-generator="MultilingualTextAreaGenerator" />
<show-property name="app:icon" show-in-view-mode="false" display-label-id="icon" <show-property name="app:icon" show-in-view-mode="false" display-label-id="icon"
component-generator="SpaceIconPickerGenerator" component-generator="SpaceIconPickerGenerator"
ignore-if-missing="false" /> ignore-if-missing="false" />
@@ -55,23 +55,6 @@
</property-sheet> </property-sheet>
</config> </config>
<config evaluator="node-type" condition="app:filelink">
<property-sheet>
<show-property name="name" />
<show-property name="title" />
<show-property name="description" component-generator="TextAreaGenerator" />
<show-property name="destination" converter="org.alfresco.faces.DisplayPathConverter"/>
</property-sheet>
</config>
<config evaluator="node-type" condition="app:folderlink">
<property-sheet>
<show-property name="name" />
<show-property name="description" component-generator="TextAreaGenerator" />
<show-property name="destination" converter="org.alfresco.faces.DisplayPathConverter"/>
</property-sheet>
</config>
<config evaluator="aspect-name" condition="titled"> <config evaluator="aspect-name" condition="titled">
<property-sheet> <property-sheet>
<!-- The 'name' property isn't part of the titled aspect --> <!-- The 'name' property isn't part of the titled aspect -->
@@ -80,7 +63,7 @@
<!-- web-client-config-custom.xml --> <!-- web-client-config-custom.xml -->
<show-property name="name" /> <show-property name="name" />
<show-property name="title" /> <show-property name="title" />
<show-property name="description" component-generator="TextAreaGenerator" /> <show-property name="description" component-generator="MultilingualTextAreaGenerator" />
</property-sheet> </property-sheet>
</config> </config>
@@ -92,12 +75,30 @@
<!-- web-client-config-custom.xml --> <!-- web-client-config-custom.xml -->
<show-property name="name" /> <show-property name="name" />
<show-property name="title" /> <show-property name="title" />
<show-property name="description" component-generator="TextAreaGenerator" /> <show-property name="description" component-generator="MultilingualTextAreaGenerator" />
<show-property name="app:icon" show-in-view-mode="false" display-label-id="icon" <show-property name="app:icon" show-in-view-mode="false" display-label-id="icon"
component-generator="SpaceIconPickerGenerator" /> component-generator="SpaceIconPickerGenerator" />
</property-sheet> </property-sheet>
</config> </config>
<config evaluator="node-type" condition="app:filelink">
<property-sheet>
<show-property name="name" />
<show-property name="title" component-generator="TextFieldGenerator" />
<show-property name="description" component-generator="TextAreaGenerator" />
<show-property name="destination" converter="org.alfresco.faces.DisplayPathConverter"/>
</property-sheet>
</config>
<config evaluator="node-type" condition="app:folderlink">
<property-sheet>
<show-property name="name" />
<show-property name="title" component-generator="TextFieldGenerator" />
<show-property name="description" component-generator="TextAreaGenerator" />
<show-property name="destination" converter="org.alfresco.faces.DisplayPathConverter"/>
</property-sheet>
</config>
<config evaluator="aspect-name" condition="author"> <config evaluator="aspect-name" condition="author">
<property-sheet> <property-sheet>
<show-property name="author" /> <show-property name="author" />
@@ -199,7 +200,7 @@
<show-property name="author" display-label-id="translator"/> <show-property name="author" display-label-id="translator"/>
<show-property name="sys:locale" <show-property name="sys:locale"
component-generator="LanguageSelectorGenerator" display-label-id="language"/> component-generator="LanguageSelectorGenerator" display-label-id="language"/>
<show-property name="description" component-generator="TextAreaGenerator" /> <show-property name="description" component-generator="MultilingualTextAreaGenerator" />
<!-- Bug issue, icon displays with other properties if visible --> <!-- Bug issue, icon displays with other properties if visible -->
<show-property name="app:icon" show-in-view-mode="false" show-in-edit-mode="false" /> <show-property name="app:icon" show-in-view-mode="false" show-in-edit-mode="false" />
<!-- Don't allow mofification of the Auto Version property --> <!-- Don't allow mofification of the Auto Version property -->

View File

@@ -0,0 +1,61 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.web.bean.generator;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.component.UIOutput;
import javax.faces.component.UISelectOne;
import javax.faces.context.FacesContext;
import org.alfresco.web.ui.repo.RepoConstants;
import org.alfresco.web.ui.repo.component.property.PropertySheetItem;
import org.alfresco.web.ui.repo.component.property.UIPropertySheet;
/**
* Generates a multilingual text area component.
*
* @author gavinc
*/
public class MultilingualTextAreaGenerator extends TextAreaGenerator
{
@Override
public UIComponent generateAndAdd(FacesContext context, UIPropertySheet propertySheet,
PropertySheetItem item)
{
UIComponent component = super.generateAndAdd(context, propertySheet, item);
if ((component instanceof UIInput) && (component instanceof UISelectOne) == false)
{
component.setRendererType(RepoConstants.ALFRESCO_FACES_MLTEXTAREA_RENDERER);
}
else if ((component instanceof UIOutput))
{
component.setRendererType(RepoConstants.ALFRESCO_FACES_MLTEXT_RENDERER);
}
return component;
}
}

View File

@@ -0,0 +1,55 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.web.bean.generator;
import javax.faces.component.UIComponent;
import javax.faces.component.UISelectOne;
import javax.faces.context.FacesContext;
import org.alfresco.web.ui.repo.RepoConstants;
import org.alfresco.web.ui.repo.component.property.PropertySheetItem;
import org.alfresco.web.ui.repo.component.property.UIPropertySheet;
/**
* Generates a multilingual text field component.
*
* @author gavinc
*/
public class MultilingualTextFieldGenerator extends TextFieldGenerator
{
@Override
public UIComponent generateAndAdd(FacesContext context, UIPropertySheet propertySheet,
PropertySheetItem item)
{
UIComponent component = super.generateAndAdd(context, propertySheet, item);
if ((component instanceof UISelectOne) == false)
{
component.setRendererType(RepoConstants.ALFRESCO_FACES_MLTEXT_RENDERER);
}
return component;
}
}

View File

@@ -49,9 +49,12 @@ public final class RepoConstants
public static final String ALFRESCO_FACES_XMLDATE_CONVERTER = "org.alfresco.faces.XMLDateConverter"; public static final String ALFRESCO_FACES_XMLDATE_CONVERTER = "org.alfresco.faces.XMLDateConverter";
public static final String ALFRESCO_FACES_MULTIVALUE_CONVERTER = "org.alfresco.faces.MultiValueConverter"; public static final String ALFRESCO_FACES_MULTIVALUE_CONVERTER = "org.alfresco.faces.MultiValueConverter";
public static final String ALFRESCO_FACES_BOOLEAN_CONVERTER = "org.alfresco.faces.BooleanLabelConverter"; public static final String ALFRESCO_FACES_BOOLEAN_CONVERTER = "org.alfresco.faces.BooleanLabelConverter";
public static final String ALFRESCO_FACES_MLTEXT_RENDERER = "org.alfresco.faces.MultilingualText";
public static final String ALFRESCO_FACES_MLTEXTAREA_RENDERER = "org.alfresco.faces.MultilingualTextArea";
public static final String GENERATOR_LABEL = "LabelGenerator"; public static final String GENERATOR_LABEL = "LabelGenerator";
public static final String GENERATOR_TEXT_FIELD = "TextFieldGenerator"; public static final String GENERATOR_TEXT_FIELD = "TextFieldGenerator";
public static final String GENERATOR_MLTEXT_FIELD = "MultilingualTextFieldGenerator";
public static final String GENERATOR_TEXT_AREA = "TextAreaGenerator"; public static final String GENERATOR_TEXT_AREA = "TextAreaGenerator";
public static final String GENERATOR_CHECKBOX = "CheckboxGenerator"; public static final String GENERATOR_CHECKBOX = "CheckboxGenerator";
public static final String GENERATOR_DATE_PICKER = "DatePickerGenerator"; public static final String GENERATOR_DATE_PICKER = "DatePickerGenerator";

View File

@@ -154,6 +154,10 @@ public class UIProperty extends PropertySheetItem
{ {
componentGeneratorName = RepoConstants.GENERATOR_TEXT_FIELD; componentGeneratorName = RepoConstants.GENERATOR_TEXT_FIELD;
} }
else if (typeName.equals(DataTypeDefinition.MLTEXT))
{
componentGeneratorName = RepoConstants.GENERATOR_MLTEXT_FIELD;
}
else if (typeName.equals(DataTypeDefinition.BOOLEAN)) else if (typeName.equals(DataTypeDefinition.BOOLEAN))
{ {
componentGeneratorName = RepoConstants.GENERATOR_CHECKBOX; componentGeneratorName = RepoConstants.GENERATOR_CHECKBOX;

View File

@@ -0,0 +1,56 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.web.ui.repo.renderer;
import java.io.IOException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.apache.myfaces.renderkit.html.HtmlTextareaRenderer;
/**
* Renders a multilingual text area.
* <p>
* Renders the default output followed by an icon
* to represent multilingual properties.
* </p>
*
* @author gavinc
*/
public class MultilingualTextAreaRenderer extends HtmlTextareaRenderer
{
@Override
public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
{
super.encodeEnd(facesContext, component);
ResponseWriter out = facesContext.getResponseWriter();
out.write("<img src='");
out.write(facesContext.getExternalContext().getRequestContextPath());
out.write("/images/icons/multilingual_marker.gif' style='margin-left: 6px; _vertical-align: -2px;' />");
}
}

View File

@@ -0,0 +1,56 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.web.ui.repo.renderer;
import java.io.IOException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.apache.myfaces.renderkit.html.HtmlTextRenderer;
/**
* Renders a multilingual text field.
* <p>
* Renders the default output followed by an icon
* to represent multilingual properties.
* </p>
*
* @author gavinc
*/
public class MultilingualTextRenderer extends HtmlTextRenderer
{
@Override
public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
{
super.encodeEnd(facesContext, component);
ResponseWriter out = facesContext.getResponseWriter();
out.write("<img src='");
out.write(facesContext.getExternalContext().getRequestContextPath());
out.write("/images/icons/multilingual_marker.gif' style='margin-left: 6px; vertical-align: -4px; _vertical-align: -2px;' />");
}
}

View File

@@ -3479,6 +3479,21 @@
--> -->
</managed-bean> </managed-bean>
<managed-bean>
<description>
Bean that generates a mutlilingual text field component
</description>
<managed-bean-name>MultilingualTextFieldGenerator</managed-bean-name>
<managed-bean-class>org.alfresco.web.bean.generator.MultilingualTextFieldGenerator</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<!--
<managed-property>
<property-name>size</property-name>
<value>35</value>
</managed-property>
-->
</managed-bean>
<managed-bean> <managed-bean>
<description> <description>
Bean that generates a link component Bean that generates a link component
@@ -3506,6 +3521,25 @@
</managed-property> </managed-property>
--> -->
</managed-bean> </managed-bean>
<managed-bean>
<description>
Bean that generates a multilingual text area component
</description>
<managed-bean-name>MultilingualTextAreaGenerator</managed-bean-name>
<managed-bean-class>org.alfresco.web.bean.generator.MultilingualTextAreaGenerator</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<!--
<managed-property>
<property-name>rows</property-name>
<value>3</value>
</managed-property>
<managed-property>
<property-name>columns</property-name>
<value>32</value>
</managed-property>
-->
</managed-bean>
<managed-bean> <managed-bean>
<description> <description>

View File

@@ -285,6 +285,24 @@
<component-family>org.alfresco.faces.Tree</component-family> <component-family>org.alfresco.faces.Tree</component-family>
<renderer-type>org.alfresco.faces.Yahoo</renderer-type> <renderer-type>org.alfresco.faces.Yahoo</renderer-type>
<renderer-class>org.alfresco.web.ui.repo.renderer.YahooTreeRenderer</renderer-class> <renderer-class>org.alfresco.web.ui.repo.renderer.YahooTreeRenderer</renderer-class>
</renderer>
<renderer>
<component-family>javax.faces.Input</component-family>
<renderer-type>org.alfresco.faces.MultilingualText</renderer-type>
<renderer-class>org.alfresco.web.ui.repo.renderer.MultilingualTextRenderer</renderer-class>
</renderer>
<renderer>
<component-family>javax.faces.Input</component-family>
<renderer-type>org.alfresco.faces.MultilingualTextArea</renderer-type>
<renderer-class>org.alfresco.web.ui.repo.renderer.MultilingualTextAreaRenderer</renderer-class>
</renderer>
<renderer>
<component-family>javax.faces.Output</component-family>
<renderer-type>org.alfresco.faces.MultilingualText</renderer-type>
<renderer-class>org.alfresco.web.ui.repo.renderer.MultilingualTextRenderer</renderer-class>
</renderer> </renderer>
</render-kit> </render-kit>

Binary file not shown.

After

Width:  |  Height:  |  Size: 608 B