1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
package com.selenar.myapp.components;
@SupportsInformalParameters
@IncludeJavaScriptLibrary("fetch.js")
public class Fetch extends AbstractField{
@Parameter(value = "asset:fetch.png")
@Property(write = false)
private Asset fetchButton;
@Parameter(name = "object", required = true, allowNull = true, defaultPrefix = BindingConstants.PROP)
private Object object;
@Parameter(name = "label", required = true, allowNull = false, defaultPrefix = BindingConstants.LITERAL)
private String label;
@Parameter(name = "pk", required = true, allowNull = false, defaultPrefix = BindingConstants.LITERAL)
private String pk;
@Parameter(name = "class", required = true, allowNull = false, defaultPrefix = BindingConstants.LITERAL)
private String className;
@Property
private String clientLabel = null;
protected void beginRender(MarkupWriter writer)
{
//traitement pour avoir le label
//...
writer.element("input",
"type", "hidden");
writer.end();
}
@BeforeRenderBody
boolean beforeRenderBody()
{
return false;
}
@BeforeRenderTemplate
boolean beforeRenderTemplate()
{
return true;
}
void afterRender(MarkupWriter writer)
{
//writer.end(); // input
}
@Override
protected void processSubmission(String elementName) {
// TODO Auto-generated method stub
}
static String[] splitLabel(String propertyNames)
{
String trimmed = propertyNames.trim();
if (trimmed.length() == 0) return new String[0];
return trimmed.split("\\s*,\\s*");
}
} |
Partager