Author: musachy
Date: Thu Aug 30 10:45:40 2007
New Revision: 571253
URL: http://svn.apache.org/viewvc?rev=571253&view=rev
Log:
WW-2136 Missing tag TextArea on dojo plugin
Added:
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/TextArea.java
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/freemarker/tags/TextAreaModel.java
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/TextareaTag.java
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/velocity/components/TextAreaDirective.java
Modified:
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/DojoTagLibrary.java
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/freemarker/tags/DojoModels.java
struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/textarea.ftl
Added:
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/TextArea.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/TextArea.java?rev=571253&view=auto
==============================================================================
---
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/TextArea.java
(added)
+++
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/components/TextArea.java
Thu Aug 30 10:45:40 2007
@@ -0,0 +1,60 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.dojo.components;
+
+import java.util.Random;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts2.views.annotations.StrutsTag;
+
+import com.opensymphony.xwork2.util.ValueStack;
+
+/**
+ * Render Dojo Editor2 widget
+ *
+ */
[EMAIL PROTECTED](name="textarea",
tldTagClass="org.apache.struts2.dojo.views.jsp.ui.TextareaTag",
description="Renders Dojo Editor2 widget")
+public class TextArea extends org.apache.struts2.components.TextArea {
+
+ public TextArea(ValueStack stack, HttpServletRequest request,
+ HttpServletResponse response) {
+ super(stack, request, response);
+ }
+
+ public void evaluateExtraParams() {
+ super.evaluateExtraParams();
+
+ boolean generateId =
!(Boolean)stack.getContext().get(Head.PARSE_CONTENT);
+ addParameter("pushId", generateId);
+ if ((this.id == null || this.id.length() == 0) && generateId) {
+ Random random = new Random();
+ this.id = "widget_" + Math.abs(random.nextInt());
+ addParameter("id", this.id);
+ }
+ }
+
+ @Override
+ public String getTheme() {
+ return "ajax";
+ }
+}
Modified:
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/DojoTagLibrary.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/DojoTagLibrary.java?rev=571253&r1=571252&r2=571253&view=diff
==============================================================================
---
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/DojoTagLibrary.java
(original)
+++
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/DojoTagLibrary.java
Thu Aug 30 10:45:40 2007
@@ -35,6 +35,7 @@
import org.apache.struts2.dojo.views.velocity.components.HeadDirective;
import org.apache.struts2.dojo.views.velocity.components.SubmitDirective;
import org.apache.struts2.dojo.views.velocity.components.TabbedPanelDirective;
+import org.apache.struts2.dojo.views.velocity.components.TextAreaDirective;
import org.apache.struts2.dojo.views.velocity.components.TreeDirective;
import org.apache.struts2.dojo.views.velocity.components.TreeNodeDirective;
import org.apache.struts2.views.TagLibrary;
@@ -60,7 +61,8 @@
TreeDirective.class,
TreeNodeDirective.class,
HeadDirective.class,
- BindDirective.class
+ BindDirective.class,
+ TextAreaDirective.class
};
return Arrays.asList(directives);
}
Modified:
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/freemarker/tags/DojoModels.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/freemarker/tags/DojoModels.java?rev=571253&r1=571252&r2=571253&view=diff
==============================================================================
---
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/freemarker/tags/DojoModels.java
(original)
+++
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/freemarker/tags/DojoModels.java
Thu Aug 30 10:45:40 2007
@@ -33,6 +33,7 @@
protected SubmitModel submit;
protected BindModel bind;
protected HeadModel head;
+ protected TextAreaModel textarea;
private ValueStack stack;
private HttpServletRequest req;
@@ -50,6 +51,14 @@
}
return bind;
+ }
+
+ public TextAreaModel getTextarea() {
+ if (textarea == null) {
+ textarea = new TextAreaModel(stack, req, res);
+ }
+
+ return textarea;
}
public HeadModel getHead() {
Added:
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/freemarker/tags/TextAreaModel.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/freemarker/tags/TextAreaModel.java?rev=571253&view=auto
==============================================================================
---
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/freemarker/tags/TextAreaModel.java
(added)
+++
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/freemarker/tags/TextAreaModel.java
Thu Aug 30 10:45:40 2007
@@ -0,0 +1,43 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.dojo.views.freemarker.tags;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts2.components.Component;
+import org.apache.struts2.dojo.components.TextArea;
+import org.apache.struts2.views.freemarker.tags.TagModel;
+
+import com.opensymphony.xwork2.util.ValueStack;
+
+/**
+ * @see TextArea
+ */
+public class TextAreaModel extends TagModel {
+ public TextAreaModel(ValueStack stack, HttpServletRequest req,
HttpServletResponse res) {
+ super(stack, req, res);
+ }
+
+ protected Component getBean() {
+ return new TextArea(stack, req, res);
+ }
+}
Added:
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/TextareaTag.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/TextareaTag.java?rev=571253&view=auto
==============================================================================
---
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/TextareaTag.java
(added)
+++
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/jsp/ui/TextareaTag.java
Thu Aug 30 10:45:40 2007
@@ -0,0 +1,51 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.dojo.views.jsp.ui;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts2.components.Component;
+import org.apache.struts2.dojo.components.TextArea;
+
+import com.opensymphony.xwork2.util.ValueStack;
+
+
+/**
+ * @see TextArea
+ *
+ */
+public class TextareaTag extends org.apache.struts2.views.jsp.ui.TextareaTag{
+ public Component getBean(ValueStack stack, HttpServletRequest req,
HttpServletResponse res) {
+ return new TextArea(stack, req, res);
+ }
+
+ protected void populateParams() {
+ super.populateParams();
+
+ TextArea textArea = ((TextArea) component);
+ textArea.setCols(cols);
+ textArea.setReadonly(readonly);
+ textArea.setRows(rows);
+ textArea.setWrap(wrap);
+ }
+
+}
Added:
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/velocity/components/TextAreaDirective.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/velocity/components/TextAreaDirective.java?rev=571253&view=auto
==============================================================================
---
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/velocity/components/TextAreaDirective.java
(added)
+++
struts/struts2/trunk/plugins/dojo/src/main/java/org/apache/struts2/dojo/views/velocity/components/TextAreaDirective.java
Thu Aug 30 10:45:40 2007
@@ -0,0 +1,27 @@
+package org.apache.struts2.dojo.views.velocity.components;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts2.components.Component;
+import org.apache.struts2.dojo.components.TextArea;
+
+import com.opensymphony.xwork2.util.ValueStack;
+
+/**
+ * @see TextArea
+ */
+public class TextAreaDirective extends DojoAbstractDirective {
+ public String getBeanName() {
+ return "textarea";
+ }
+
+ protected Component getBean(ValueStack stack, HttpServletRequest req,
+ HttpServletResponse res) {
+ return new TextArea(stack, req, res);
+ }
+
+ public int getType() {
+ return BLOCK;
+ }
+}
Modified:
struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/textarea.ftl
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/textarea.ftl?rev=571253&r1=571252&r2=571253&view=diff
==============================================================================
---
struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/textarea.ftl
(original)
+++
struts/struts2/trunk/plugins/dojo/src/main/resources/template/ajax/textarea.ftl
Thu Aug 30 10:45:40 2007
@@ -59,4 +59,7 @@
<#if parameters.nameValue?exists>
<@s.property value="parameters.nameValue"/><#t/>
</#if>
-</textarea>
\ No newline at end of file
+</textarea>
+<#if parameters.pushId>
+<script language="JavaScript"
type="text/javascript">djConfig.searchIds.push("${parameters.id?html}");</script>
+</#if>
\ No newline at end of file