mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
externalizing widget config for xforms to xml
- adding a utility method to ConfigElement to get a list of child config elements by name - using JSONObject to generate js rendition of config - adding a build script to build json.jar since json.org only distributes source - adding a preview link for form instance data to create web content summary screen - doing the full jsp2.0 thing with summary screen for create website, i have a hunch it will fix a websphere issue git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5943 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -17,5 +17,6 @@
|
|||||||
<classpathentry kind="lib" path="/3rd Party/lib/fop/avalon-framework-4.2.0.jar"/>
|
<classpathentry kind="lib" path="/3rd Party/lib/fop/avalon-framework-4.2.0.jar"/>
|
||||||
<classpathentry combineaccessrules="false" kind="src" path="/MBean"/>
|
<classpathentry combineaccessrules="false" kind="src" path="/MBean"/>
|
||||||
<classpathentry kind="lib" path="/3rd Party/lib/chiba-1.3.0.jar"/>
|
<classpathentry kind="lib" path="/3rd Party/lib/chiba-1.3.0.jar"/>
|
||||||
|
<classpathentry kind="lib" path="/3rd Party/lib/json.jar"/>
|
||||||
<classpathentry kind="output" path="build/classes"/>
|
<classpathentry kind="output" path="build/classes"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
@@ -26,6 +26,81 @@
|
|||||||
<!-- the delay (in seconds) to apply to a deployment (for testing and demo purposes) -->
|
<!-- the delay (in seconds) to apply to a deployment (for testing and demo purposes) -->
|
||||||
<delay>30</delay>
|
<delay>30</delay>
|
||||||
</deployment>
|
</deployment>
|
||||||
|
|
||||||
|
<xforms>
|
||||||
|
<widget xforms-type="xf:group"
|
||||||
|
appearance="minimal"
|
||||||
|
javascript-class-name="alfresco.xforms.HGroup"/>
|
||||||
|
<widget xforms-type="xf:group"
|
||||||
|
javascript-class-name="alfresco.xforms.VGroup"/>
|
||||||
|
<widget xforms-type="xf:repeat"
|
||||||
|
javascript-class-name="alfresco.xforms.Repeat"/>
|
||||||
|
<widget xforms-type="xf:textarea"
|
||||||
|
appearance="minimal"
|
||||||
|
javascript-class-name="alfresco.xforms.PlainTextEditor"/>
|
||||||
|
<widget xforms-type="xf:textarea"
|
||||||
|
javascript-class-name="alfresco.xforms.RichTextEditor">
|
||||||
|
<param>bold,italic,underline,separator,forecolor,backcolor,separator,link,unlink,image</param>
|
||||||
|
</widget>
|
||||||
|
<widget xforms-type="xf:textarea"
|
||||||
|
appearance="full"
|
||||||
|
javascript-class-name="alfresco.xforms.RichTextEditor">
|
||||||
|
<param>bold,italic,underline,strikethrough,separator,fontselect,fontsizeselect</param>
|
||||||
|
<param>link,unlink,image,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,separator,undo,redo,separator,forecolor,backcolor</param>
|
||||||
|
</widget>
|
||||||
|
<widget xforms-type="xf:upload" javascript-class-name="alfresco.xforms.FilePicker"/>
|
||||||
|
<widget xforms-type="xf:range" javascript-class-name="alfresco.xforms.NumericalRange"/>
|
||||||
|
<widget xforms-type="xf:input"
|
||||||
|
xml-schema-type="date"
|
||||||
|
javascript-class-name="alfresco.xforms.DatePicker"/>
|
||||||
|
<widget xforms-type="xf:input"
|
||||||
|
xml-schema-type="time"
|
||||||
|
javascript-class-name="alfresco.xforms.TimePicker"/>
|
||||||
|
<widget xforms-type="xf:input"
|
||||||
|
xml-schema-type="gDay"
|
||||||
|
javascript-class-name="alfresco.xforms.DayPicker"/>
|
||||||
|
<widget xforms-type="xf:input"
|
||||||
|
xml-schema-type="gMonth"
|
||||||
|
javascript-class-name="alfresco.xforms.MonthPicker"/>
|
||||||
|
<widget xforms-type="xf:input"
|
||||||
|
xml-schema-type="gYear"
|
||||||
|
javascript-class-name="alfresco.xforms.YearPicker"/>
|
||||||
|
<widget xforms-type="xf:input"
|
||||||
|
xml-schema-type="gMonthDay"
|
||||||
|
javascript-class-name="alfresco.xforms.MonthDayPicker"/>
|
||||||
|
<widget xforms-type="xf:input"
|
||||||
|
xml-schema-type="gYearMonth"
|
||||||
|
javascript-class-name="alfresco.xforms.YearMonthPicker"/>
|
||||||
|
<widget xforms-type="xf:input"
|
||||||
|
xml-schema-type="dateTime"
|
||||||
|
javascript-class-name="alfresco.xforms.DateTimePicker"/>
|
||||||
|
<widget xforms-type="xf:input"
|
||||||
|
javascript-class-name="alfresco.xforms.TextField"/>
|
||||||
|
<widget xforms-type="xf:select1"
|
||||||
|
xml-schema-type="boolean"
|
||||||
|
javascript-class-name="alfresco.xforms.Checkbox"/>
|
||||||
|
<widget xforms-type="xf:select1"
|
||||||
|
appearance="full"
|
||||||
|
javascript-class-name="alfresco.xforms.RadioSelect1"/>
|
||||||
|
<widget xforms-type="xf:select1"
|
||||||
|
javascript-class-name="alfresco.xforms.ComboboxSelect1"/>
|
||||||
|
<widget xforms-type="xf:select"
|
||||||
|
appearance="full"
|
||||||
|
javascript-class-name="alfresco.xforms.CheckboxSelect"/>
|
||||||
|
<widget xforms-type="xf:select"
|
||||||
|
javascript-class-name="alfresco.xforms.ListSelect"/>
|
||||||
|
<widget xforms-type="xf:submit"
|
||||||
|
javascript-class-name="alfresco.xforms.Submit"/>
|
||||||
|
<widget xforms-type="xf:trigger"
|
||||||
|
javascript-class-name="alfresco.xforms.Trigger"/>
|
||||||
|
<widget xforms-type="xf:switch"
|
||||||
|
javascript-class-name="alfresco.xforms.SwitchGroup"/>
|
||||||
|
<widget xforms-type="xf:case"
|
||||||
|
javascript-class-name="alfresco.xforms.CaseGroup"/>
|
||||||
|
<widget xforms-type="chiba:data"/>
|
||||||
|
<widget xforms-type="xf:label"/>
|
||||||
|
<widget xforms-type="xf:alert"/>
|
||||||
|
</xforms>
|
||||||
</wcm>
|
</wcm>
|
||||||
|
|
||||||
</config>
|
</config>
|
||||||
|
@@ -50,8 +50,8 @@ import org.alfresco.web.app.servlet.ajax.InvokeCommand;
|
|||||||
import org.alfresco.web.bean.FileUploadBean;
|
import org.alfresco.web.bean.FileUploadBean;
|
||||||
import org.alfresco.web.bean.repository.Repository;
|
import org.alfresco.web.bean.repository.Repository;
|
||||||
import org.alfresco.web.bean.wcm.AVMBrowseBean;
|
import org.alfresco.web.bean.wcm.AVMBrowseBean;
|
||||||
import org.alfresco.web.bean.wcm.AVMUtil;
|
|
||||||
import org.alfresco.web.bean.wcm.AVMNode;
|
import org.alfresco.web.bean.wcm.AVMNode;
|
||||||
|
import org.alfresco.web.bean.wcm.AVMUtil;
|
||||||
import org.alfresco.web.forms.*;
|
import org.alfresco.web.forms.*;
|
||||||
import org.alfresco.web.ui.common.Utils;
|
import org.alfresco.web.ui.common.Utils;
|
||||||
|
|
||||||
@@ -161,7 +161,7 @@ public class XFormsBean
|
|||||||
private Schema2XFormsProperties schema2XFormsProperties;
|
private Schema2XFormsProperties schema2XFormsProperties;
|
||||||
private AVMBrowseBean avmBrowseBean;
|
private AVMBrowseBean avmBrowseBean;
|
||||||
private AVMService avmService;
|
private AVMService avmService;
|
||||||
|
|
||||||
public XFormsBean()
|
public XFormsBean()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@@ -20,16 +20,20 @@ package org.alfresco.web.forms.xforms;
|
|||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ResourceBundle;
|
import java.util.*;
|
||||||
import javax.faces.context.FacesContext;
|
import javax.faces.context.FacesContext;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.alfresco.config.ConfigElement;
|
||||||
|
import org.alfresco.config.ConfigService;
|
||||||
import org.alfresco.service.namespace.NamespaceService;
|
import org.alfresco.service.namespace.NamespaceService;
|
||||||
import org.alfresco.web.bean.wcm.AVMBrowseBean;
|
import org.alfresco.web.bean.wcm.AVMBrowseBean;
|
||||||
import org.alfresco.web.bean.wcm.AVMUtil;
|
import org.alfresco.web.bean.wcm.AVMUtil;
|
||||||
import org.alfresco.web.forms.*;
|
import org.alfresco.web.forms.*;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
import org.springframework.web.util.JavaScriptUtils;
|
import org.springframework.web.util.JavaScriptUtils;
|
||||||
|
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
@@ -92,8 +96,14 @@ public class XFormsProcessor
|
|||||||
"validation_provide_values_for_required_fields"
|
"validation_provide_values_for_required_fields"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private static JSONObject widgetConfig = null;
|
||||||
|
|
||||||
public XFormsProcessor()
|
public XFormsProcessor()
|
||||||
{
|
{
|
||||||
|
if (XFormsProcessor.widgetConfig == null)
|
||||||
|
{
|
||||||
|
XFormsProcessor.widgetConfig = XFormsProcessor.loadConfig();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Session process(final Document instanceDataDocument,
|
public Session process(final Document instanceDataDocument,
|
||||||
@@ -225,6 +235,19 @@ public class XFormsProcessor
|
|||||||
append(k.equals(BUNDLE_KEYS[BUNDLE_KEYS.length - 1]) ? "\n};" : ",").
|
append(k.equals(BUNDLE_KEYS[BUNDLE_KEYS.length - 1]) ? "\n};" : ",").
|
||||||
append("\n");
|
append("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
js.append("alfresco.xforms.widgetConfig = \n").
|
||||||
|
append(LOGGER.isDebugEnabled()
|
||||||
|
? XFormsProcessor.widgetConfig.toString(0)
|
||||||
|
: XFormsProcessor.widgetConfig).
|
||||||
|
append("\n");
|
||||||
|
}
|
||||||
|
catch (JSONException jsone)
|
||||||
|
{
|
||||||
|
LOGGER.error(jsone);
|
||||||
|
}
|
||||||
e.appendChild(result.createTextNode(js.toString()));
|
e.appendChild(result.createTextNode(js.toString()));
|
||||||
|
|
||||||
div.appendChild(e);
|
div.appendChild(e);
|
||||||
@@ -241,4 +264,141 @@ public class XFormsProcessor
|
|||||||
|
|
||||||
XMLUtil.print(result, out);
|
XMLUtil.print(result, out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static JSONObject loadConfig()
|
||||||
|
{
|
||||||
|
final ConfigService cfgService = Application.getConfigService(FacesContext.getCurrentInstance());
|
||||||
|
final ConfigElement xformsConfig = cfgService.getGlobalConfig().getConfigElement("wcm").getChild("xforms");
|
||||||
|
final List<ConfigElement> widgetConfig = xformsConfig.getChildren("widget");
|
||||||
|
|
||||||
|
class WidgetConfigElement
|
||||||
|
implements Comparable<WidgetConfigElement>
|
||||||
|
{
|
||||||
|
public final String xformsType;
|
||||||
|
public final String xmlSchemaType;
|
||||||
|
public final String appearance;
|
||||||
|
public final String javascriptClassName;
|
||||||
|
private List<String> params;
|
||||||
|
|
||||||
|
public WidgetConfigElement(final String xformsType,
|
||||||
|
final String xmlSchemaType,
|
||||||
|
final String appearance,
|
||||||
|
final String javascriptClassName)
|
||||||
|
{
|
||||||
|
if (xformsType == null)
|
||||||
|
{
|
||||||
|
throw new NullPointerException();
|
||||||
|
}
|
||||||
|
this.xformsType = xformsType;
|
||||||
|
this.xmlSchemaType = xmlSchemaType;
|
||||||
|
this.appearance = appearance;
|
||||||
|
this.javascriptClassName = javascriptClassName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addParam(final String p)
|
||||||
|
{
|
||||||
|
if (this.params == null)
|
||||||
|
{
|
||||||
|
this.params = new LinkedList();
|
||||||
|
}
|
||||||
|
this.params.add(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getParams()
|
||||||
|
{
|
||||||
|
return (this.params == null
|
||||||
|
? (List<String>)Collections.EMPTY_LIST
|
||||||
|
: Collections.unmodifiableList(this.params));
|
||||||
|
}
|
||||||
|
|
||||||
|
public int compareTo(final WidgetConfigElement other)
|
||||||
|
{
|
||||||
|
int result = this.xformsType.compareTo(other.xformsType);
|
||||||
|
if (result != 0)
|
||||||
|
{
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
result = this.compareAttribute(this.xmlSchemaType, other.xmlSchemaType);
|
||||||
|
if (result != 0)
|
||||||
|
{
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
result = this.compareAttribute(this.appearance, other.appearance);
|
||||||
|
if (result != 0)
|
||||||
|
{
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
throw new RuntimeException("widget definitions " + this +
|
||||||
|
" and " + other + " collide");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return (this.getClass().getName() + "{" +
|
||||||
|
"xformsType: "+ this.xformsType +
|
||||||
|
", xmlSchemaType: " + this.xmlSchemaType +
|
||||||
|
", appearance: " + this.appearance +
|
||||||
|
", javascriptClassName: " + this.javascriptClassName +
|
||||||
|
", numParams: " + this.getParams().size() +
|
||||||
|
"}");
|
||||||
|
}
|
||||||
|
|
||||||
|
private int compareAttribute(final String s1, final String s2)
|
||||||
|
{
|
||||||
|
return (s1 != null && s2 == null
|
||||||
|
? 1
|
||||||
|
: (s1 == null && s2 != null
|
||||||
|
? -1
|
||||||
|
: (s1 != null && s2 != null
|
||||||
|
? s1.compareTo(s2)
|
||||||
|
: 0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final TreeSet<WidgetConfigElement> widgetConfigs = new TreeSet<WidgetConfigElement>();
|
||||||
|
for (final ConfigElement ce : widgetConfig)
|
||||||
|
{
|
||||||
|
final WidgetConfigElement wce = new WidgetConfigElement(ce.getAttribute("xforms-type"),
|
||||||
|
ce.getAttribute("xml-schema-type"),
|
||||||
|
ce.getAttribute("appearance"),
|
||||||
|
ce.getAttribute("javascript-class-name"));
|
||||||
|
|
||||||
|
final List<ConfigElement> params = ce.getChildren("param");
|
||||||
|
for (final ConfigElement p : params)
|
||||||
|
{
|
||||||
|
wce.addParam(p.getValue());
|
||||||
|
}
|
||||||
|
widgetConfigs.add(wce);
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
final JSONObject result = new JSONObject();
|
||||||
|
for (final WidgetConfigElement wce : widgetConfigs)
|
||||||
|
{
|
||||||
|
if (!result.has(wce.xformsType))
|
||||||
|
{
|
||||||
|
result.put(wce.xformsType, new JSONObject());
|
||||||
|
}
|
||||||
|
final JSONObject xformsTypeObject = result.getJSONObject(wce.xformsType);
|
||||||
|
String s = wce.xmlSchemaType == null ? "*" : wce.xmlSchemaType;
|
||||||
|
if (!xformsTypeObject.has(s))
|
||||||
|
{
|
||||||
|
xformsTypeObject.put(s, new JSONObject());
|
||||||
|
}
|
||||||
|
final JSONObject schemaTypeObject = xformsTypeObject.getJSONObject(s);
|
||||||
|
s = wce.appearance == null ? "*" : wce.appearance;
|
||||||
|
final JSONObject o = new JSONObject();
|
||||||
|
schemaTypeObject.put(s, o);
|
||||||
|
o.put("className", wce.javascriptClassName);
|
||||||
|
o.put("params", wce.getParams());
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
catch (JSONException jsone)
|
||||||
|
{
|
||||||
|
LOGGER.error(jsone, jsone);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="rich_text_anyType" type="xs:anyType" minOccurs="0" maxOccurs="1"/>
|
<xs:element name="rich_text_anyType" type="xs:anyType" minOccurs="0" maxOccurs="1"/>
|
||||||
<xs:element name="rich_text_stringType" type="xs:string" minOccurs="0" maxOccurs="1" default="ф">
|
<xs:element name="rich_text_stringType" type="xs:string" minOccurs="0" maxOccurs="1">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:appinfo>
|
<xs:appinfo>
|
||||||
<alf:appearance>full</alf:appearance>
|
<alf:appearance>full</alf:appearance>
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
</xs:appinfo>
|
</xs:appinfo>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:attribute>
|
</xs:attribute>
|
||||||
<xs:attribute name="rich_text_stringType_attribute" type="xs:string" use="optional" default="ф">
|
<xs:attribute name="rich_text_stringType_attribute" type="xs:string" use="optional">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:appinfo>
|
<xs:appinfo>
|
||||||
<alf:appearance>full</alf:appearance>
|
<alf:appearance>full</alf:appearance>
|
||||||
|
@@ -0,0 +1,69 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xsl:stylesheet version="1.0"
|
||||||
|
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
exclude-result-prefixes="xhtml">
|
||||||
|
|
||||||
|
<xsl:output method="html" version="4.01" encoding="UTF-8" indent="yes"
|
||||||
|
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>
|
||||||
|
<xsl:preserve-space elements="*"/>
|
||||||
|
|
||||||
|
<xsl:template match="/">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<style type="text/css">
|
||||||
|
body
|
||||||
|
{
|
||||||
|
font-family: Tahoma, Arial, Helvetica, sans-serif;
|
||||||
|
background-color: white;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.name
|
||||||
|
{
|
||||||
|
color: #003366;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<title>textarea test</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div>Generated by textarea-test.xsl</div>
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="/textarea-test/plain_text">
|
||||||
|
<div style="line-height: 25px;">
|
||||||
|
<span class="name">plain text: </span>
|
||||||
|
<span><xsl:value-of select="."/></span>
|
||||||
|
</div>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="/textarea-test/rich_text_anyType">
|
||||||
|
<div style="line-height: 25px;">
|
||||||
|
<span class="name">rich text anyType: </span>
|
||||||
|
<span><xsl:value-of select="."/></span>
|
||||||
|
</div>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="/textarea-test/rich_text_stringType">
|
||||||
|
<div style="line-height: 25px;">
|
||||||
|
<span class="name">rich text stringType: </span>
|
||||||
|
<span><xsl:value-of select="."/></span>
|
||||||
|
</div>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="/textarea-test/@plain_text_attribute">
|
||||||
|
<div style="line-height: 25px;">
|
||||||
|
<span class="name">rich text stringType attribute: </span>
|
||||||
|
<span><xsl:value-of select="."/></span>
|
||||||
|
</div>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="/textarea-test/@rich_text_stringType_attribute">
|
||||||
|
<div style="line-height: 25px;">
|
||||||
|
<span class="name">rich text stringType attribute: </span>
|
||||||
|
<span><xsl:value-of select="."/></span>
|
||||||
|
</div>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
@@ -1,130 +1,155 @@
|
|||||||
<%--
|
<!--
|
||||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||||
|
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation; either version 2
|
* as published by the Free Software Foundation; either version 2
|
||||||
* of the License, or (at your option) any later version.
|
* of the License, or (at your option) any later version.
|
||||||
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
|
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* As a special exception to the terms and conditions of version 2.0 of
|
* 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
|
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||||
* FLOSS exception. You should have recieved a copy of the text describing
|
* FLOSS exception. You should have recieved a copy of the text describing
|
||||||
* the FLOSS exception, and it is also available here:
|
* the FLOSS exception, and it is also available here:
|
||||||
* http://www.alfresco.com/legal/licensing"
|
* http://www.alfresco.com/legal/licensing
|
||||||
--%>
|
-->
|
||||||
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
|
<jsp:root version="1.2"
|
||||||
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
xmlns:c="http://java.sun.com/jsp/jstl/core"
|
||||||
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
|
xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
|
||||||
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
|
xmlns:a="urn:jsptld:/WEB-INF/alfresco.tld"
|
||||||
<%@ page isELIgnored="false" %>
|
xmlns:f="http://java.sun.com/jsf/core"
|
||||||
<script type="text/javascript">
|
xmlns:h="http://java.sun.com/jsf/html">
|
||||||
window.onload = function() { document.getElementById("wizard:finish-button").focus(); }
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="2" style="padding-top: 4px; padding-bottom: 4px;"
|
<jsp:output doctype-root-element="html"
|
||||||
width="100%" rowClasses="wizardSectionHeading">
|
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
<h:outputText value=" #{msg.create_web_content_summary_content_details}" escape="false" />
|
doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
|
||||||
</h:panelGrid>
|
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0" width="100%">
|
<jsp:directive.page language="java" buffer="32kb" contentType="text/html; charset=UTF-8"/>
|
||||||
<a:selectList id="form-instance-data-list"
|
<jsp:directive.page isELIgnored="false"/>
|
||||||
multiSelect="false"
|
|
||||||
activeSelect="true"
|
|
||||||
style="width:100%"
|
|
||||||
itemStyle="vertical-align: top; margin-right: 5px;">
|
|
||||||
<a:listItem label="<b>${WizardManager.bean.formInstanceData.name}<b/>"
|
|
||||||
value="${WizardManager.bean.formInstanceData.name}"
|
|
||||||
image="/images/filetypes32/xml.gif">
|
|
||||||
<jsp:attribute name="description">
|
|
||||||
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
|
||||||
<colgroup><col width="25%"/><col width="75%"/></colgroup>
|
|
||||||
<tbody>
|
|
||||||
<tr><td>${msg.form}:</td><td>${WizardManager.bean.form.title}</td></tr>
|
|
||||||
<tr><td>${msg.location}:</td><td>${WizardManager.bean.formInstanceData.sandboxRelativePath}</td></tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</jsp:attribute>
|
|
||||||
</a:listItem>
|
|
||||||
</a:selectList>
|
|
||||||
</h:panelGrid>
|
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="2" style="padding-top: 4px; padding-bottom: 4px;"
|
<script type="text/javascript">
|
||||||
width="100%" rowClasses="wizardSectionHeading"
|
window.onload = function() { document.getElementById("wizard:finish-button").focus(); }
|
||||||
rendered="#{!empty WizardManager.bean.renditions}">
|
</script>
|
||||||
<h:outputText value=" #{msg.create_web_content_summary_rendition_details}" escape="false" />
|
|
||||||
</h:panelGrid>
|
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0" width="100%"
|
<h:panelGrid columns="1" cellpadding="2" style="padding-top: 4px; padding-bottom: 4px;"
|
||||||
rendered="#{!empty WizardManager.bean.renditions}">
|
width="100%" rowClasses="wizardSectionHeading">
|
||||||
<a:selectList id="rendition-list"
|
<h:outputText value=" #{msg.create_web_content_summary_content_details}" escape="false" />
|
||||||
multiSelect="false"
|
</h:panelGrid>
|
||||||
activeSelect="true"
|
|
||||||
style="width:100%"
|
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0" width="100%">
|
||||||
itemStyle="vertical-align: top; margin-right: 5px;">
|
<a:selectList id="form-instance-data-list"
|
||||||
<c:forEach items="${WizardManager.bean.renditions}"
|
multiSelect="false"
|
||||||
var="rendition"
|
activeSelect="true"
|
||||||
varStatus="status">
|
style="width:100%"
|
||||||
<a:listItem id="listItem${status.index}"
|
itemStyle="vertical-align: top; margin-right: 5px;">
|
||||||
label="<b>${rendition.name}</b>"
|
<a:listItem value="${WizardManager.bean.formInstanceData.name}"
|
||||||
value="${rendition.name}"
|
image="/images/filetypes32/xml.gif">
|
||||||
image="${rendition.fileTypeImage}">
|
<jsp:attribute name="label"><b>${WizardManager.bean.formInstanceData.name}</b></jsp:attribute>
|
||||||
<jsp:attribute name="description">
|
<jsp:attribute name="description">
|
||||||
<span style="float:right;">
|
<span style="float:right;">
|
||||||
<a id="preview${status.index}"
|
<a id="preview_fid"
|
||||||
href="${rendition.url}"
|
href="${WizardManager.bean.formInstanceData.url}"
|
||||||
style="text-decoration: none;"
|
style="text-decoration: none;"
|
||||||
target="window_${status.index}_${rendition.name}">
|
target="window_${WizardManager.bean.formInstanceData.name}">
|
||||||
<jsp:element name="img">
|
<jsp:element name="img">
|
||||||
<jsp:attribute name="src" trim="true">
|
<jsp:attribute name="src" trim="true">
|
||||||
<c:out value="${pageContext.request.contextPath}"/>/images/icons/preview_website.gif
|
<c:out value="${pageContext.request.contextPath}"/>/images/icons/preview_website.gif
|
||||||
</jsp:attribute>
|
</jsp:attribute>
|
||||||
<jsp:attribute name="align">absmiddle</jsp:attribute>
|
<jsp:attribute name="align">absmiddle</jsp:attribute>
|
||||||
<jsp:attribute name="style">border: 0px</jsp:attribute>
|
<jsp:attribute name="style">border: 0px</jsp:attribute>
|
||||||
<jsp:attribute name="alt">${rendition.name}</jsp:attribute>
|
<jsp:attribute name="alt">${WizardManager.bean.formInstanceData.name}</jsp:attribute>
|
||||||
</jsp:element>
|
</jsp:element>
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
<span>${rendition.description}</span>
|
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
||||||
</jsp:attribute>
|
<colgroup><col width="25%"/><col width="75%"/></colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr><td>${msg.form}:</td><td>${WizardManager.bean.form.title}</td></tr>
|
||||||
|
<tr><td>${msg.location}:</td><td>${WizardManager.bean.formInstanceData.sandboxRelativePath}</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</jsp:attribute>
|
||||||
</a:listItem>
|
</a:listItem>
|
||||||
</c:forEach>
|
</a:selectList>
|
||||||
</a:selectList>
|
</h:panelGrid>
|
||||||
</h:panelGrid>
|
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="2" style="padding-top: 4px; padding-bottom: 4px;"
|
<h:panelGrid columns="1" cellpadding="2" style="padding-top: 4px; padding-bottom: 4px;"
|
||||||
width="100%" rowClasses="wizardSectionHeading"
|
width="100%" rowClasses="wizardSectionHeading"
|
||||||
rendered="#{!empty WizardManager.bean.uploadedFiles}">
|
rendered="#{!empty WizardManager.bean.renditions}">
|
||||||
<h:outputText value=" #{msg.create_web_content_summary_uploaded_files_details}" escape="false" />
|
<h:outputText value=" #{msg.create_web_content_summary_rendition_details}" escape="false" />
|
||||||
</h:panelGrid>
|
</h:panelGrid>
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0" width="100%"
|
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0" width="100%"
|
||||||
rendered="#{!empty WizardManager.bean.uploadedFiles}">
|
rendered="#{!empty WizardManager.bean.renditions}">
|
||||||
<a:selectList id="uploaded-file-list"
|
<a:selectList id="rendition-list"
|
||||||
multiSelect="false"
|
multiSelect="false"
|
||||||
activeSelect="true"
|
activeSelect="true"
|
||||||
style="width:100%"
|
style="width:100%"
|
||||||
itemStyle="vertical-align: top; margin-right: 5px;">
|
itemStyle="vertical-align: top; margin-right: 5px;">
|
||||||
<a:listItems value="#{WizardManager.bean.uploadedFiles}"/>
|
<c:forEach items="${WizardManager.bean.renditions}"
|
||||||
</a:selectList>
|
var="rendition"
|
||||||
</h:panelGrid>
|
varStatus="status">
|
||||||
|
<a:listItem id="listItem${status.index}"
|
||||||
|
value="${rendition.name}"
|
||||||
|
image="${rendition.fileTypeImage}">
|
||||||
|
<jsp:attribute name="label"><b>${rendition.name}</b></jsp:attribute>
|
||||||
|
<jsp:attribute name="description">
|
||||||
|
<span style="float:right;">
|
||||||
|
<a id="preview${status.index}"
|
||||||
|
href="${rendition.url}"
|
||||||
|
style="text-decoration: none;"
|
||||||
|
target="window_${status.index}_${rendition.name}">
|
||||||
|
<jsp:element name="img">
|
||||||
|
<jsp:attribute name="src" trim="true">
|
||||||
|
<c:out value="${pageContext.request.contextPath}"/>/images/icons/preview_website.gif
|
||||||
|
</jsp:attribute>
|
||||||
|
<jsp:attribute name="align">absmiddle</jsp:attribute>
|
||||||
|
<jsp:attribute name="style">border: 0px</jsp:attribute>
|
||||||
|
<jsp:attribute name="alt">${rendition.name}</jsp:attribute>
|
||||||
|
</jsp:element>
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
<span>${rendition.description}</span>
|
||||||
|
</jsp:attribute>
|
||||||
|
</a:listItem>
|
||||||
|
</c:forEach>
|
||||||
|
</a:selectList>
|
||||||
|
</h:panelGrid>
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="2" style="padding-top: 4px; padding-bottom: 4px;"
|
<h:panelGrid columns="1" cellpadding="2" style="padding-top: 4px; padding-bottom: 4px;"
|
||||||
width="100%">
|
width="100%" rowClasses="wizardSectionHeading"
|
||||||
<h:column>
|
rendered="#{!empty WizardManager.bean.uploadedFiles}">
|
||||||
<h:selectBooleanCheckbox id="startWorkflow"
|
<h:outputText value=" #{msg.create_web_content_summary_uploaded_files_details}" escape="false" />
|
||||||
value="#{WizardManager.bean.startWorkflow}"/>
|
</h:panelGrid>
|
||||||
<h:outputFormat value=" #{msg.create_web_content_summary_submit_message}" escape="false">
|
|
||||||
<f:param value="#{WizardManager.bean.numberOfSubmittableFiles}"/>
|
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0" width="100%"
|
||||||
<f:param value="#{WizardManager.bean.formInstanceData.name}"/>
|
rendered="#{!empty WizardManager.bean.uploadedFiles}">
|
||||||
</h:outputFormat>
|
<a:selectList id="uploaded-file-list"
|
||||||
</h:column>
|
multiSelect="false"
|
||||||
</h:panelGrid>
|
activeSelect="true"
|
||||||
|
style="width:100%"
|
||||||
|
itemStyle="vertical-align: top; margin-right: 5px;">
|
||||||
|
<a:listItems value="#{WizardManager.bean.uploadedFiles}"/>
|
||||||
|
</a:selectList>
|
||||||
|
</h:panelGrid>
|
||||||
|
|
||||||
|
<h:panelGrid columns="1" cellpadding="2" style="padding-top: 4px; padding-bottom: 4px;"
|
||||||
|
width="100%">
|
||||||
|
<h:column>
|
||||||
|
<h:selectBooleanCheckbox id="startWorkflow"
|
||||||
|
value="#{WizardManager.bean.startWorkflow}"/>
|
||||||
|
<h:outputFormat value=" #{msg.create_web_content_summary_submit_message}" escape="false">
|
||||||
|
<f:param value="#{WizardManager.bean.numberOfSubmittableFiles}"/>
|
||||||
|
<f:param value="#{WizardManager.bean.formInstanceData.name}"/>
|
||||||
|
</h:outputFormat>
|
||||||
|
</h:column>
|
||||||
|
</h:panelGrid>
|
||||||
|
</jsp:root>
|
||||||
|
@@ -1,193 +1,203 @@
|
|||||||
<%--
|
<!--
|
||||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||||
|
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation; either version 2
|
* as published by the Free Software Foundation; either version 2
|
||||||
* of the License, or (at your option) any later version.
|
* of the License, or (at your option) any later version.
|
||||||
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
|
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 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
|
* 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
|
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||||
* FLOSS exception. You should have recieved a copy of the text describing
|
* FLOSS exception. You should have recieved a copy of the text describing
|
||||||
* the FLOSS exception, and it is also available here:
|
* the FLOSS exception, and it is also available here:
|
||||||
* http://www.alfresco.com/legal/licensing"
|
* http://www.alfresco.com/legal/licensing"
|
||||||
--%>
|
-->
|
||||||
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
|
<jsp:root version="1.2"
|
||||||
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
xmlns:c="http://java.sun.com/jsp/jstl/core"
|
||||||
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
|
xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
|
||||||
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
|
xmlns:a="urn:jsptld:/WEB-INF/alfresco.tld"
|
||||||
<%@ page isELIgnored="false" %>
|
xmlns:f="http://java.sun.com/jsf/core"
|
||||||
|
xmlns:h="http://java.sun.com/jsf/html">
|
||||||
|
|
||||||
<script type="text/javascript">
|
<jsp:output doctype-root-element="html"
|
||||||
window.onload = function() { document.getElementById("wizard:finish-button").focus(); }
|
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
</script>
|
doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="2" style="padding-top:4px;padding-bottom:4px;"
|
<jsp:directive.page language="java" buffer="32kb" contentType="text/html; charset=UTF-8"/>
|
||||||
width="100%" rowClasses="wizardSectionHeading">
|
<jsp:directive.page isELIgnored="false"/>
|
||||||
<h:outputText value=" #{msg.general_properties}" escape="false" />
|
|
||||||
</h:panelGrid>
|
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0" width="100%">
|
<script type="text/javascript">
|
||||||
<a:selectList id="webproject-list"
|
window.onload = function() { document.getElementById("wizard:finish-button").focus(); }
|
||||||
multiSelect="false"
|
</script>
|
||||||
activeSelect="true"
|
|
||||||
style="width:100%;"
|
|
||||||
itemStyle="vertical-align: top; margin-right: 5px;">
|
|
||||||
<a:listItem label="<b>${WizardManager.bean.name}</b>"
|
|
||||||
value="${WizardManager.bean.name}"
|
|
||||||
image="/images/icons/website_large.gif">
|
|
||||||
<jsp:attribute name="description">
|
|
||||||
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
|
||||||
<colgroup><col width="25%"/><col width="75%"/></colgroup>
|
|
||||||
<tbody>
|
|
||||||
<tr><td>${msg.website_dnsname}:</td><td> ${WizardManager.bean.dnsName}</td></tr>
|
|
||||||
<tr><td>${msg.website_webapp}:</td><td> ${WizardManager.bean.webapp}</td></tr>
|
|
||||||
<tr><td>${msg.title}:</td><td> ${WizardManager.bean.title}</td></tr>
|
|
||||||
<tr><td>${msg.description}:</td>
|
|
||||||
<td>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${empty WizardManager.bean.description}">
|
|
||||||
<span style="font-style:italic">${msg.description_not_set}</span>
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>${WizardManager.bean.description}</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</jsp:attribute>
|
|
||||||
</a:listItem>
|
|
||||||
</a:selectList>
|
|
||||||
</h:panelGrid>
|
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="2" style="padding-top:16px;padding-bottom:4px;"
|
<h:panelGrid columns="1" cellpadding="2" style="padding-top:4px;padding-bottom:4px;"
|
||||||
width="100%" rowClasses="wizardSectionHeading">
|
width="100%" rowClasses="wizardSectionHeading">
|
||||||
<h:outputText value=" #{msg.website_web_content_forms}" escape="false" />
|
<h:outputText value=" #{msg.general_properties}" escape="false" />
|
||||||
</h:panelGrid>
|
</h:panelGrid>
|
||||||
|
|
||||||
<h:panelGrid columns="2" cellpadding="3" cellspacing="3" border="0" width="100%">
|
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0" width="100%">
|
||||||
<h:outputText rendered="#{empty WizardManager.bean.forms}"
|
<a:selectList id="webproject-list"
|
||||||
value="#{msg.no_selected_items}"/>
|
multiSelect="false"
|
||||||
<a:selectList id="form-list"
|
activeSelect="true"
|
||||||
multiSelect="false"
|
style="width:100%;"
|
||||||
activeSelect="true"
|
itemStyle="vertical-align: top; margin-right: 5px;">
|
||||||
style="width:100%;"
|
<a:listItem value="${WizardManager.bean.name}"
|
||||||
itemStyle="vertical-align: top; margin-right: 5px;">
|
image="/images/icons/website_large.gif">
|
||||||
<c:forEach items="${WizardManager.bean.forms}" var="r">
|
<jsp:attribute name="label"><b>${WizardManager.bean.name}</b></jsp:attribute>
|
||||||
<a:listItem label="<b>${r.name}</b>"
|
<jsp:attribute name="description">
|
||||||
value="${r.name}"
|
|
||||||
image="/images/icons/webform_large.gif">
|
|
||||||
<jsp:attribute name="description">
|
|
||||||
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
||||||
<colgroup><col width="25%"/><col width="75%"/></colgroup>
|
<colgroup><col width="25%"/><col width="75%"/></colgroup>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td>${msg.name}:</td><td> ${r.name}</td></tr>
|
<tr><td>${msg.website_dnsname}:</td><td> ${WizardManager.bean.dnsName}</td></tr>
|
||||||
<tr><td>${msg.title}:</td><td> ${r.title}</td></tr>
|
<tr><td>${msg.website_webapp}:</td><td> ${WizardManager.bean.webapp}</td></tr>
|
||||||
<tr><td>${msg.output_path_pattern}:</td><td> ${r.outputPathPattern}</td></tr>
|
<tr><td>${msg.title}:</td><td> ${WizardManager.bean.title}</td></tr>
|
||||||
<tr><td>${msg.description}:</td>
|
<tr><td>${msg.description}:</td>
|
||||||
<td>
|
<td>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${empty WizardManager.bean.description}">
|
<c:when test="${empty WizardManager.bean.description}">
|
||||||
<span style="font-style:italic">${msg.description_not_set}</span>
|
<span style="font-style:italic">${msg.description_not_set}</span>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>${r.description}</c:otherwise>
|
<c:otherwise>${WizardManager.bean.description}</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
<tr><td>${msg.workflow}:</td>
|
|
||||||
<td>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${r.workflow == null}">
|
|
||||||
<span style="font-style:italic">${msg.none}</span>
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>${r.workflow.title}</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</jsp:attribute>
|
</jsp:attribute>
|
||||||
</a:listItem>
|
</a:listItem>
|
||||||
</c:forEach>
|
</a:selectList>
|
||||||
</a:selectList>
|
</h:panelGrid>
|
||||||
</h:panelGrid>
|
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="2" style="padding-top:16px;padding-bottom:4px;"
|
<h:panelGrid columns="1" cellpadding="2" style="padding-top:16px;padding-bottom:4px;"
|
||||||
width="100%" rowClasses="wizardSectionHeading">
|
width="100%" rowClasses="wizardSectionHeading">
|
||||||
<h:outputText value=" #{msg.website_selected_workflows}" escape="false" />
|
<h:outputText value=" #{msg.website_web_content_forms}" escape="false" />
|
||||||
</h:panelGrid>
|
</h:panelGrid>
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0" width="100%">
|
<h:panelGrid columns="2" cellpadding="3" cellspacing="3" border="0" width="100%">
|
||||||
<h:outputText rendered="#{empty WizardManager.bean.workflows}"
|
<h:outputText rendered="#{empty WizardManager.bean.forms}"
|
||||||
value="#{msg.no_selected_items}"/>
|
value="#{msg.no_selected_items}"/>
|
||||||
<a:selectList id="workflow-list"
|
<a:selectList id="form-list"
|
||||||
multiSelect="false"
|
multiSelect="false"
|
||||||
activeSelect="true"
|
activeSelect="true"
|
||||||
style="width:100%;"
|
style="width:100%;"
|
||||||
itemStyle="vertical-align: top; margin-right: 5px;">
|
itemStyle="vertical-align: top; margin-right: 5px;">
|
||||||
<c:forEach items="${WizardManager.bean.workflows}" var="r">
|
<c:forEach items="${WizardManager.bean.forms}" var="r">
|
||||||
<a:listItem label="<b>${r.title}</b>"
|
<a:listItem value="${r.name}"
|
||||||
value="${r.name}"
|
image="/images/icons/webform_large.gif">
|
||||||
image="/images/icons/workflow_large.gif">
|
<jsp:attribute name="label"><b>${r.name}</b></jsp:attribute>
|
||||||
<jsp:attribute name="description">
|
<jsp:attribute name="description">
|
||||||
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
||||||
<colgroup><col width="25%"/><col width="75%"/></colgroup>
|
<colgroup><col width="25%"/><col width="75%"/></colgroup>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td>${msg.description}:</td>
|
<tr><td>${msg.name}:</td><td> ${r.name}</td></tr>
|
||||||
<td>
|
<tr><td>${msg.title}:</td><td> ${r.title}</td></tr>
|
||||||
<c:choose>
|
<tr><td>${msg.output_path_pattern}:</td><td> ${r.outputPathPattern}</td></tr>
|
||||||
<c:when test="${empty r.description}">
|
<tr><td>${msg.description}:</td>
|
||||||
<span style="font-style:italic">${msg.description_not_set}</span>
|
<td>
|
||||||
</c:when>
|
<c:choose>
|
||||||
<c:otherwise>${r.description}</c:otherwise>
|
<c:when test="${empty WizardManager.bean.description}">
|
||||||
</c:choose>
|
<span style="font-style:italic">${msg.description_not_set}</span>
|
||||||
</td>
|
</c:when>
|
||||||
</tr>
|
<c:otherwise>${r.description}</c:otherwise>
|
||||||
<tr><td>${msg.website_filename_pattern}:</td><td> ${r.filenamePattern}</td></tr>
|
</c:choose>
|
||||||
</tbody>
|
</td>
|
||||||
</table>
|
</tr>
|
||||||
</jsp:attribute>
|
<tr><td>${msg.workflow}:</td>
|
||||||
</a:listItem>
|
<td>
|
||||||
</c:forEach>
|
<c:choose>
|
||||||
</a:selectList>
|
<c:when test="${r.workflow == null}">
|
||||||
</h:panelGrid>
|
<span style="font-style:italic">${msg.none}</span>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>${r.workflow.title}</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</jsp:attribute>
|
||||||
|
</a:listItem>
|
||||||
|
</c:forEach>
|
||||||
|
</a:selectList>
|
||||||
|
</h:panelGrid>
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="2" style="padding-top:16px"
|
<h:panelGrid columns="1" cellpadding="2" style="padding-top:16px;padding-bottom:4px;"
|
||||||
width="100%" rowClasses="wizardSectionHeading">
|
width="100%" rowClasses="wizardSectionHeading">
|
||||||
<h:outputText value=" #{msg.create_website_summary_users}" escape="false" />
|
<h:outputText value=" #{msg.website_selected_workflows}" escape="false" />
|
||||||
</h:panelGrid>
|
</h:panelGrid>
|
||||||
|
|
||||||
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0"
|
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0" width="100%">
|
||||||
width="100%"
|
<h:outputText rendered="#{empty WizardManager.bean.workflows}"
|
||||||
style="margin-left:12px">
|
value="#{msg.no_selected_items}"/>
|
||||||
<a:selectList id="users-list"
|
<a:selectList id="workflow-list"
|
||||||
multiSelect="false"
|
multiSelect="false"
|
||||||
activeSelect="true"
|
activeSelect="true"
|
||||||
style="width:100%;"
|
style="width:100%;"
|
||||||
itemStyle="vertical-align: top; margin-right: 5px;">
|
itemStyle="vertical-align: top; margin-right: 5px;">
|
||||||
<c:forEach items="${WizardManager.bean.invitedUsers}" var="r">
|
<c:forEach items="${WizardManager.bean.workflows}" var="r">
|
||||||
<a:listItem label="<b>${r.name}</b>"
|
<a:listItem value="${r.name}"
|
||||||
value="${r.name}"
|
image="/images/icons/workflow_large.gif">
|
||||||
image="/images/icons/user_large.gif">
|
<jsp:attribute name="label"><b>${r.title}</b></jsp:attribute>
|
||||||
<jsp:attribute name="description">
|
<jsp:attribute name="description">
|
||||||
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
||||||
<colgroup><col width="25%"/><col width="75%"/></colgroup>
|
<colgroup><col width="25%"/><col width="75%"/></colgroup>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td>${msg.roles}:</td><td> ${r.role}</td></tr>
|
<tr><td>${msg.description}:</td>
|
||||||
</tbody>
|
<td>
|
||||||
</table>
|
<c:choose>
|
||||||
</jsp:attribute>
|
<c:when test="${empty r.description}">
|
||||||
</a:listItem>
|
<span style="font-style:italic">${msg.description_not_set}</span>
|
||||||
</c:forEach>
|
</c:when>
|
||||||
</a:selectList>
|
<c:otherwise>${r.description}</c:otherwise>
|
||||||
</h:panelGrid>
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td>${msg.website_filename_pattern}:</td><td> ${r.filenamePattern}</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</jsp:attribute>
|
||||||
|
</a:listItem>
|
||||||
|
</c:forEach>
|
||||||
|
</a:selectList>
|
||||||
|
</h:panelGrid>
|
||||||
|
|
||||||
|
<h:panelGrid columns="1" cellpadding="2" style="padding-top:16px"
|
||||||
|
width="100%" rowClasses="wizardSectionHeading">
|
||||||
|
<h:outputText value=" #{msg.create_website_summary_users}" escape="false" />
|
||||||
|
</h:panelGrid>
|
||||||
|
|
||||||
|
<h:panelGrid columns="1" cellpadding="3" cellspacing="3" border="0"
|
||||||
|
width="100%"
|
||||||
|
style="margin-left:12px">
|
||||||
|
<a:selectList id="users-list"
|
||||||
|
multiSelect="false"
|
||||||
|
activeSelect="true"
|
||||||
|
style="width:100%;"
|
||||||
|
itemStyle="vertical-align: top; margin-right: 5px;">
|
||||||
|
<c:forEach items="${WizardManager.bean.invitedUsers}" var="r">
|
||||||
|
<a:listItem value="${r.name}"
|
||||||
|
image="/images/icons/user_large.gif">
|
||||||
|
<jsp:attribute name="label"><b>${r.name}</b></jsp:attribute>
|
||||||
|
<jsp:attribute name="description">
|
||||||
|
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
||||||
|
<colgroup><col width="25%"/><col width="75%"/></colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr><td>${msg.roles}:</td><td> ${r.role}</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</jsp:attribute>
|
||||||
|
</a:listItem>
|
||||||
|
</c:forEach>
|
||||||
|
</a:selectList>
|
||||||
|
</h:panelGrid>
|
||||||
|
</jsp:root>
|
||||||
|
@@ -846,9 +846,9 @@ dojo.declare("alfresco.xforms.RichTextEditor",
|
|||||||
|
|
||||||
this.statics.currentInstance = this;
|
this.statics.currentInstance = this;
|
||||||
|
|
||||||
tinyMCE.settings.theme_advanced_buttons1 = this._tinyMCE_buttons[0];
|
tinyMCE.settings.theme_advanced_buttons1 = this._tinyMCE_buttons[0] || "";
|
||||||
tinyMCE.settings.theme_advanced_buttons2 = this._tinyMCE_buttons[1];
|
tinyMCE.settings.theme_advanced_buttons2 = this._tinyMCE_buttons[1] || "";
|
||||||
tinyMCE.settings.theme_advanced_buttons3 = this._tinyMCE_buttons[2];
|
tinyMCE.settings.theme_advanced_buttons3 = this._tinyMCE_buttons[2] || "";
|
||||||
tinyMCE.addMCEControl(this.widget, this.id);
|
tinyMCE.addMCEControl(this.widget, this.id);
|
||||||
|
|
||||||
var editorDocument = tinyMCE.getInstanceById(this.id).getDoc();
|
var editorDocument = tinyMCE.getInstanceById(this.id).getDoc();
|
||||||
@@ -4006,11 +4006,19 @@ dojo.declare("alfresco.xforms.XForm",
|
|||||||
" schemaType " + schemaType +
|
" schemaType " + schemaType +
|
||||||
" appearance " + appearance);
|
" appearance " + appearance);
|
||||||
}
|
}
|
||||||
if (x == null)
|
if (x == null || typeof x.className == "undefined")
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
var result = new x.className(this, xformsNode, x.params);
|
var cstr = eval(x.className);
|
||||||
|
if (!cstr)
|
||||||
|
{
|
||||||
|
throw new Error("unable to load constructor " + x.className +
|
||||||
|
" for xforms type " + xformsType +
|
||||||
|
" schemaType " + schemaType +
|
||||||
|
" appearance " + appearance);
|
||||||
|
}
|
||||||
|
var result = new cstr(this, xformsNode, x.params);
|
||||||
if (result instanceof alfresco.xforms.Widget)
|
if (result instanceof alfresco.xforms.Widget)
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
@@ -4624,74 +4632,3 @@ tinyMCE.init({
|
|||||||
theme_advanced_buttons3: "",
|
theme_advanced_buttons3: "",
|
||||||
urlconverter_callback: "alfresco_TinyMCE_urlconverter_callback"
|
urlconverter_callback: "alfresco_TinyMCE_urlconverter_callback"
|
||||||
});
|
});
|
||||||
|
|
||||||
alfresco.xforms.widgetConfig =
|
|
||||||
{
|
|
||||||
"xf:group":
|
|
||||||
{
|
|
||||||
"*": { "minimal": { className: alfresco.xforms.HGroup }, "*": { className: alfresco.xforms.VGroup }}
|
|
||||||
},
|
|
||||||
"xf:repeat":
|
|
||||||
{
|
|
||||||
"*": { "*": { className: alfresco.xforms.Repeat } }
|
|
||||||
},
|
|
||||||
"xf:textarea":
|
|
||||||
{
|
|
||||||
"*":
|
|
||||||
{
|
|
||||||
"minimal": { className: alfresco.xforms.PlainTextEditor },
|
|
||||||
"*": { className: alfresco.xforms.RichTextEditor, params: [ "bold,italic,underline,separator,forecolor,backcolor,separator,link,unlink,image", "", "" ] },
|
|
||||||
"full": { className: alfresco.xforms.RichTextEditor, params: ["bold,italic,underline,strikethrough,separator,fontselect,fontsizeselect", "link,unlink,image,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,separator,undo,redo,separator,forecolor,backcolor", "" ] }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xf:upload":
|
|
||||||
{
|
|
||||||
"*": { "*": { className: alfresco.xforms.FilePicker } }
|
|
||||||
},
|
|
||||||
"xf:range":
|
|
||||||
{
|
|
||||||
"*": { "*": { className: alfresco.xforms.NumericalRange } }
|
|
||||||
},
|
|
||||||
"xf:input":
|
|
||||||
{
|
|
||||||
"date": { "*": { className: alfresco.xforms.DatePicker }},
|
|
||||||
"time": { "*": { className: alfresco.xforms.TimePicker }},
|
|
||||||
"gDay": { "*": { className: alfresco.xforms.DayPicker }},
|
|
||||||
"gMonth": { "*": { className: alfresco.xforms.MonthPicker }},
|
|
||||||
"gYear": { "*": { className: alfresco.xforms.YearPicker }},
|
|
||||||
"gMonthDay": { "*": { className: alfresco.xforms.MonthDayPicker }},
|
|
||||||
"gYearMonth": { "*": { className: alfresco.xforms.YearMonthPicker }},
|
|
||||||
"dateTime": { "*": { className: alfresco.xforms.DateTimePicker }},
|
|
||||||
"*": { "*": { className: alfresco.xforms.TextField }}
|
|
||||||
},
|
|
||||||
"xf:select1":
|
|
||||||
{
|
|
||||||
"boolean": { "*": { className: alfresco.xforms.Checkbox }},
|
|
||||||
"*": { "full": { className: alfresco.xforms.RadioSelect1},
|
|
||||||
"*": { className: alfresco.xforms.ComboboxSelect1 }}
|
|
||||||
},
|
|
||||||
"xf:select":
|
|
||||||
{
|
|
||||||
"*": { "full": { className: alfresco.xforms.CheckboxSelect},
|
|
||||||
"*": { className: alfresco.xforms.ListSelect }}
|
|
||||||
},
|
|
||||||
"xf:submit":
|
|
||||||
{
|
|
||||||
"*": { "*": { className: alfresco.xforms.Submit } }
|
|
||||||
},
|
|
||||||
"xf:trigger":
|
|
||||||
{
|
|
||||||
"*": { "*": { className: alfresco.xforms.Trigger }}
|
|
||||||
},
|
|
||||||
"xf:switch":
|
|
||||||
{
|
|
||||||
"*": { "*": { className: alfresco.xforms.SwitchGroup } }
|
|
||||||
},
|
|
||||||
"xf:case":
|
|
||||||
{
|
|
||||||
"*": { "*": { className: alfresco.xforms.CaseGroup }}
|
|
||||||
},
|
|
||||||
"chiba:data": { "*": { "*": null } },
|
|
||||||
"xf:label": { "*": { "*": null } },
|
|
||||||
"xf:alert": { "*": { "*": null } }
|
|
||||||
}
|
|
||||||
|
Reference in New Issue
Block a user