You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2009/03/26 21:15:02 UTC
svn commit: r758831 - in /labs/magma/trunk:
website-dojo-pack/src/main/resources/dojo-1.2.0/dijit/_editor/plugins/
website-dojo-textareas/src/main/java/org/apache/magma/dojo/
Author: simoneg
Date: Thu Mar 26 20:15:01 2009
New Revision: 758831
URL: http://svn.apache.org/viewvc?rev=758831&view=rev
Log:
LABS-324 : i18n fixes for dojo plugin for image handling
Added:
labs/magma/trunk/website-dojo-textareas/src/main/java/org/apache/magma/dojo/RichEditorPlugins.java
Modified:
labs/magma/trunk/website-dojo-pack/src/main/resources/dojo-1.2.0/dijit/_editor/plugins/ImageFormatDialog.js
labs/magma/trunk/website-dojo-pack/src/main/resources/dojo-1.2.0/dijit/_editor/plugins/LinkOnlyDialog.js
labs/magma/trunk/website-dojo-textareas/src/main/java/org/apache/magma/dojo/InterceptTextareaFields.aj
Modified: labs/magma/trunk/website-dojo-pack/src/main/resources/dojo-1.2.0/dijit/_editor/plugins/ImageFormatDialog.js
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-dojo-pack/src/main/resources/dojo-1.2.0/dijit/_editor/plugins/ImageFormatDialog.js?rev=758831&r1=758830&r2=758831&view=diff
==============================================================================
--- labs/magma/trunk/website-dojo-pack/src/main/resources/dojo-1.2.0/dijit/_editor/plugins/ImageFormatDialog.js (original)
+++ labs/magma/trunk/website-dojo-pack/src/main/resources/dojo-1.2.0/dijit/_editor/plugins/ImageFormatDialog.js Thu Mar 26 20:15:01 2009
@@ -18,7 +18,7 @@
dojo.require("dijit.form.FilteringSelect");
dojo.require("dojo.i18n");
dojo.require("dojo.string");
-dojo.requireLocalization("dijit._editor", "ImageFormatDialog", null, "zh,ca,pt,da,tr,ru,de,sv,ja,he,fi,nb,el,ar,pt-pt,cs,fr,es,ko,nl,zh-tw,pl,th,it,hu,sk,sl,ROOT");
+dojo.requireLocalization("dijit._editor", "ImageFormatDialog", null, "ROOT");
dojo.declare("dijit._editor.plugins.ImageFormatDialog",
dijit._editor._Plugin,
Modified: labs/magma/trunk/website-dojo-pack/src/main/resources/dojo-1.2.0/dijit/_editor/plugins/LinkOnlyDialog.js
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-dojo-pack/src/main/resources/dojo-1.2.0/dijit/_editor/plugins/LinkOnlyDialog.js?rev=758831&r1=758830&r2=758831&view=diff
==============================================================================
--- labs/magma/trunk/website-dojo-pack/src/main/resources/dojo-1.2.0/dijit/_editor/plugins/LinkOnlyDialog.js (original)
+++ labs/magma/trunk/website-dojo-pack/src/main/resources/dojo-1.2.0/dijit/_editor/plugins/LinkOnlyDialog.js Thu Mar 26 20:15:01 2009
@@ -17,7 +17,7 @@
dojo.require("dijit.form.ValidationTextBox");
dojo.require("dojo.i18n");
dojo.require("dojo.string");
-dojo.requireLocalization("dijit._editor", "LinkOnlyDialog", null, "zh,ca,pt,da,tr,ru,de,sv,ja,he,fi,nb,el,ar,pt-pt,cs,fr,es,ko,nl,zh-tw,pl,th,it,hu,sk,sl,ROOT");
+dojo.requireLocalization("dijit._editor", "LinkOnlyDialog", null, "ROOT");
dojo.declare("dijit._editor.plugins.LinkOnlyDialog",
dijit._editor._Plugin,
Modified: labs/magma/trunk/website-dojo-textareas/src/main/java/org/apache/magma/dojo/InterceptTextareaFields.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-dojo-textareas/src/main/java/org/apache/magma/dojo/InterceptTextareaFields.aj?rev=758831&r1=758830&r2=758831&view=diff
==============================================================================
--- labs/magma/trunk/website-dojo-textareas/src/main/java/org/apache/magma/dojo/InterceptTextareaFields.aj (original)
+++ labs/magma/trunk/website-dojo-textareas/src/main/java/org/apache/magma/dojo/InterceptTextareaFields.aj Thu Mar 26 20:15:01 2009
@@ -6,112 +6,70 @@
import org.apache.magma.view.tree.Node;
import org.apache.magma.website.beansview.BeanFormProducer;
-import java.io.IOException;
-import java.io.OutputStream;
import java.io.StringWriter;
import org.apache.magma.website.HtmlProducer;
-import java.io.OutputStreamWriter;
-import java.util.Date;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
-import org.apache.magma.basics.MagmaException;
import org.apache.magma.website.Head;
-import org.apache.magma.i18n.Formatter;
-
-
-
-
public aspect InterceptTextareaFields {
- void around(HtmlProducer hp, Head head) :
- execution(void HtmlProducer+.head(..)) && this(hp) && args(head) {
+ void around(BeanFormProducer producer, Head head) :
+ execution(void HtmlProducer+.head(..)) && this(producer) && args(head) {
- if (hp instanceof BeanFormProducer) {
- BeanFormProducer producer = (BeanFormProducer)hp;
- Node root = producer.getBean().beanData().getViewTree(producer.getCustomizer());
- Set<FieldNode> longNodes = new HashSet<FieldNode>();
- Set<Node> allNodes = root.getAllNodes();
- for (Node node : allNodes) {
- if (node instanceof FieldNode) {
- FieldNode fn = (FieldNode)node;
- PropertyInfo property = fn.getProperty();
- if (producer.findInputMaxSize(property) > 256) {
- longNodes.add(fn);
- }
+ Node root = producer.getBean().beanData().getViewTree(producer.getCustomizer());
+ Set<FieldNode> longNodes = new HashSet<FieldNode>();
+ Set<Node> allNodes = root.getAllNodes();
+ for (Node node : allNodes) {
+ if (node instanceof FieldNode) {
+ FieldNode fn = (FieldNode)node;
+ PropertyInfo property = fn.getProperty();
+ if (producer.findInputMaxSize(property) > 256) {
+ longNodes.add(fn);
}
}
-
- if (longNodes.size() > 0) {
- head.addDojo();
- head.addDojoCustomLayer("magma:/dojo/magma/textareaFieldsCustom.js");
- head.addExternalScript("magma:/common/dojo/textareaField.js");
- StringWriter writer = new StringWriter();
- writer.append("\nfunction initTextareaFields() {\n");
- for (FieldNode longNode : longNodes) {
- PropertyInfo prop = longNode.getProperty();
- RichTextValidator rcv = prop.getValidator().getValidator(RichTextValidator.class);
- if (rcv == null) {
- writer.append("setupTextAreaField('");
- writer.append(longNode.getId());
- writer.append("');\n");
- } else {
- writer.append("setupRichEditorField('");
- writer.append(longNode.getId());
- writer.append("',['undo','redo','|','cut','copy','paste','|'");
- if (rcv.isPermitStrong()) {
- writer.append(",'bold'");
- }
- if (rcv.isPermitEmphasis()) {
- writer.append(",'italic'");
- }
- if (rcv.isPermitScripts()) {
- writer.append(",'subscript','superscript'");
- }
- if (rcv.isPermitColors() || rcv.isPermitBackgroundColors()) {
- writer.append(",'|'");
- if (rcv.isPermitColors()) {
- writer.append(",'foreColor'");
- }
- if (rcv.isPermitBackgroundColors()) {
- writer.append(",'hiliteColor'");
- }
- }
- if (rcv.isPermitHeadings()) {
- //writer.append(",'|',)
- // TODO headings plugins
- }
- if (rcv.isPermitIndents() || rcv.isPermitJustify()) {
- writer.append(",'|'");
- if (rcv.isPermitIndents()) {
- writer.append(",'indent','outdent'");
- }
- if (rcv.isPermitJustify()) {
- writer.append(",'justifyCenter','justifyFull','justifyLeft','justifyRight'");
- }
- }
- if (rcv.isPermitLists()) {
- writer.append(",'|','insertOrderedList','insertUnorderedList'");
- }
- if (rcv.isPermitLinks()) {
- writer.append(",'|','createOnlyLink', 'unlink'");
- }
- if (rcv.isPermitImages()) {
- writer.append(",'|','insertFormatImage'");
- }
- if (rcv.isPermitTables()) {
- writer.append(",'|',{name: 'dojox.editor.plugins.TablePlugins', command: 'insertTable'}, {name: 'dojox.editor.plugins.TablePlugins', command: 'colorTableCell'}, {name: 'dojox.editor.plugins.TablePlugins', command: 'tableContextMenu'}");
- }
- writer.append("]);\n");
- }
+ }
+
+ if (longNodes.size() > 0) {
+ head.addDojo();
+ head.addDojoCustomLayer("magma:/dojo/magma/textareaFieldsCustom.js");
+ head.addExternalScript("magma:/common/dojo/textareaField.js");
+ StringWriter writer = new StringWriter();
+ writer.append("\nfunction initTextareaFields() {\n");
+ for (FieldNode longNode : longNodes) {
+ PropertyInfo prop = longNode.getProperty();
+ RichTextValidator rcv = prop.getValidator().getValidator(RichTextValidator.class);
+ if (rcv == null) {
+ writer.append("setupTextAreaField('");
+ writer.append(longNode.getId());
+ writer.append("');\n");
+ } else {
+ head.addCss("magma:/dojo/dojox/editor/plugins/resources/editorPlugins.css");
+ writer.append("setupRichEditorField('");
+ writer.append(longNode.getId());
+
+ List<String> plugins = RichEditorPlugins.getPluginsFor(rcv);
+ writer.append("',[");
+ for (String plug : plugins) {
+ if (plug.startsWith("{")) {
+ writer.append(plug);
+ } else {
+ writer.append('\'');
+ writer.append(plug);
+ writer.append('\'');
+ }
+ writer.append(',');
+ }
+ writer.append("'|']);\n");
}
- writer.append(" }\n");
- head.addRawScript(producer.getCompletePath() + ":initTextareaFields", writer.toString());
- head.addDojoOnload("initTextareaFields");
}
+ writer.append(" }\n");
+ head.addRawScript(producer.getCompletePath() + ":initTextareaFields", writer.toString());
+ head.addDojoOnload("initTextareaFields");
}
- proceed(hp, head);
+ proceed(producer, head);
}
}
Added: labs/magma/trunk/website-dojo-textareas/src/main/java/org/apache/magma/dojo/RichEditorPlugins.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-dojo-textareas/src/main/java/org/apache/magma/dojo/RichEditorPlugins.java?rev=758831&view=auto
==============================================================================
--- labs/magma/trunk/website-dojo-textareas/src/main/java/org/apache/magma/dojo/RichEditorPlugins.java (added)
+++ labs/magma/trunk/website-dojo-textareas/src/main/java/org/apache/magma/dojo/RichEditorPlugins.java Thu Mar 26 20:15:01 2009
@@ -0,0 +1,128 @@
+package org.apache.magma.dojo;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.magma.validation.validators.RichTextValidator;
+
+public class RichEditorPlugins {
+
+ public static String SEPARATOR = "|";
+
+ public static List<String> getPluginsFor(RichTextValidator rcv) {
+ List<String> plugins = new ArrayList<String>();
+ addDefaultPlugins(plugins);
+ if (rcv.isPermitStrong()) {
+ addBoldPlugin(plugins);
+ }
+ if (rcv.isPermitEmphasis()) {
+ addEmphasisPlugin(plugins);
+ }
+ if (rcv.isPermitScripts()) {
+ addScriptsPlugins(plugins);
+ }
+ if (rcv.isPermitColors() || rcv.isPermitBackgroundColors()) {
+ plugins.add(SEPARATOR);
+ if (rcv.isPermitColors()) {
+ addForegroungColorPlugin(plugins);
+ }
+ if (rcv.isPermitBackgroundColors()) {
+ addBackgroundColorPlugin(plugins);
+ }
+ }
+ if (rcv.isPermitHeadings()) {
+ //writer.append(",'|',)
+ // TODO headings plugins
+ }
+ if (rcv.isPermitIndents() || rcv.isPermitJustify()) {
+ plugins.add(SEPARATOR);
+ if (rcv.isPermitIndents()) {
+ addIndentPlugins(plugins);
+ }
+ if (rcv.isPermitJustify()) {
+ addJustifyPlugins(plugins);
+ }
+ }
+ if (rcv.isPermitLists()) {
+ addListPlugins(plugins);
+ }
+ if (rcv.isPermitLinks()) {
+ addLinkPlugins(plugins);
+ }
+ if (rcv.isPermitImages()) {
+ addImagePlugins(plugins);
+ }
+ if (rcv.isPermitTables()) {
+ addTablePlugins(plugins);
+ }
+ return plugins;
+ }
+
+ public static void addTablePlugins(List<String> plugins) {
+ plugins.add(SEPARATOR);
+ plugins.add("{name: 'dojox.editor.plugins.TablePlugins', command: 'insertTable'}");
+ plugins.add("{name: 'dojox.editor.plugins.TablePlugins', command: 'colorTableCell'}");
+ plugins.add("{name: 'dojox.editor.plugins.TablePlugins', command: 'tableContextMenu'}");
+ }
+
+ public static void addImagePlugins(List<String> plugins) {
+ plugins.add(SEPARATOR);
+ plugins.add("insertFormatImage");
+ }
+
+ public static void addLinkPlugins(List<String> plugins) {
+ plugins.add(SEPARATOR);
+ plugins.add("createOnlyLink");
+ plugins.add("unlink");
+ }
+
+ public static void addListPlugins(List<String> plugins) {
+ plugins.add(SEPARATOR);
+ plugins.add("insertOrderedList");
+ plugins.add("insertUnorderedList");
+ }
+
+ public static void addJustifyPlugins(List<String> plugins) {
+ plugins.add("justifyCenter");
+ plugins.add("justifyFull");
+ plugins.add("justifyLeft");
+ plugins.add("justifyRight");
+ }
+
+ public static void addIndentPlugins(List<String> plugins) {
+ plugins.add("indent");
+ plugins.add("outdent");
+ }
+
+ public static void addBackgroundColorPlugin(List<String> plugins) {
+ plugins.add("hiliteColor");
+ }
+
+ public static void addForegroungColorPlugin(List<String> plugins) {
+ plugins.add("foreColor");
+ }
+
+ public static void addScriptsPlugins(List<String> plugins) {
+ plugins.add("subscript");
+ plugins.add("superscript");
+ }
+
+ public static void addEmphasisPlugin(List<String> plugins) {
+ plugins.add("italic");
+ }
+
+ public static void addBoldPlugin(List<String> plugins) {
+ plugins.add("bold");
+ }
+
+ public static void addDefaultPlugins(List<String> plugins) {
+ plugins.add("undo");
+ plugins.add("redo");
+ plugins.add(SEPARATOR);
+ plugins.add("cut");
+ plugins.add("copy");
+ plugins.add("paste");
+ plugins.add(SEPARATOR);
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org