Igor,
This was great. Exactly what I needed. I applied this to my TextField and
DropDownChoice with a few tweaks and it's perfect. But when I went to do
the same to TextArea, I am told that onComponentTagBody is final and cannot
be overridden.
So i tired without that method overidden like so:
public void onComponentTag(ComponentTag tag) {
super.onComponentTag(tag);
if (!isEnabledInHierarchy()) {
tag.setName("label");
tag.remove("type");
tag.remove("value");
tag.remove("disabled");
tag.setType(TagType.OPEN);
}
}
// public void onComponentTagBody(final MarkupStream markupStream, final
ComponentTag openTag) {
// if (!isEnabledInHierarchy()) {
// replaceComponentTagBody(markupStream, openTag,
getDefaultModelObjectAsString());
// }
// }
And that produced the following exception:
org.apache.wicket.markup.MarkupException: Component [narrative] (path =
[4:oagForm:narrative]) must be applied to a tag of type [textarea], not:
'<label wicket:id="narrative" name="narrative">' (line 0, column 0)
at
org.apache.wicket.markup.MarkupStream.throwMarkupException(MarkupStream.java:526)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.Component.checkComponentTag(Component.java:3550)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.markup.html.form.TextArea.onComponentTagBody(TextArea.java:65)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:71)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.Component.internalRenderComponent(Component.java:2549)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1493)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.Component.internalRender(Component.java:2379)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.Component.render(Component.java:2307)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1390)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1554)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1529)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1484)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.markup.html.form.Form.onComponentTagBody(Form.java:1683)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:71)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.Component.internalRenderComponent(Component.java:2549)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1493)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.Component.internalRender(Component.java:2379)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.Component.render(Component.java:2307)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1390)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1554)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.Page.onRender(Page.java:876)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:142)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.Component.internalRender(Component.java:2379)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.Component.render(Component.java:2307)
~[wicket-core-6.12.0.jar:6.12.0]
at org.apache.wicket.Page.renderPage(Page.java:1010)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:121)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:274)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:861)
~[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
~[wicket-request-6.12.0.jar:6.12.0]
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
[wicket-core-6.12.0.jar:6.12.0]
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
[wicket-core-6.12.0.jar:6.12.0]
I love this technique as it is so clean and direct to the problem. How can
I make it work for TextArea?
--
View this message in context:
http://apache-wicket.1842946.n4.nabble.com/Show-textfield-as-plaintext-when-disabled-tp4664723p4664868.html
Sent from the Users forum mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]