I love it !
Thank you, you made my day !
Davor Hrg wrote:
I have a solution :)
I needed it to make my own autocomplete
/**
*
*/
package tapestryutil.mixins;
/** Workarround to add raw content to JSON, like function references and
such.
* Number instances are not quoted and are trusted, so we use it.*/
final class JSONRaw extends Number {
private final String rawText;
JSONRaw(String rawText) {
this.rawText = rawText;
}
@Override public double doubleValue() {return 0;}
@Override public float floatValue() {return 0;}
@Override public int intValue() {return 0;}
@Override public long longValue() {return 0;}
@Override public String toString() {
return rawText;
}
}
On Mon, Mar 9, 2009 at 3:33 PM, Andreas Andreou <andy...@di.uoa.gr> wrote:
For json responses, i think it's good that the json is strict (i.e. no
objects or
callbacks allowed as values)
For constructing js objects to be included in the html (to configure
other js components)
it's clear that JSONObject isn't the correct answer (json != js object)
Probably the autocmplete mixin needs to use a 'new' JsObject class
On Mon, Mar 9, 2009 at 4:10 PM, ningdh <ningd...@gmail.com> wrote:
Not aware of that, sorry.
In my window component, I hack to replace double quote of all function to
empty.
JSONObject options= new JSONObject();
options.put("showEffect", "TO_BE_REPLACE" +
this.showEffect+"TO_BE_REPLACE");
getPageRenderSupport().addScript("%s = new Window(%s);", getUniqueId(),
filterJsFunction(options.toString()));
private String filterJsFunction(String jsonString) {
// function begin
jsonString = jsonString.replaceAll("\"TO_BE_REPLACE", "");
// function end
jsonString = jsonString.replaceAll("TO_BE_REPLACE\"", "");
return jsonString;
}
Well, a bit stupid, but works.
DH
----- Original Message -----
From: "Francois Armand" <farm...@linagora.com>
To: "Tapestry users" <users@tapestry.apache.org>
Sent: Monday, March 09, 2009 9:51 PM
Subject: Re: Tapestry JSONObject : no 'function' type, any workaround ?
ningdh wrote:
toString method of JsonObject would double quote our value.
One way is to create some data type extends jsonobject to encapsule
your data and override the toString method. I haven't tried it yet.
But JSONObject and JSONArray are final, that's not possible - it was my
first plan. How can I workaround that ?
--
Francois Armand
Etudes & Développements J2EE
Groupe Linagora - http://www.linagora.com
Tél.: +33 (0)1 58 18 68 28
-----------
http://fanf42.blogspot.com
InterLDAP - http://interldap.org
FederID - http://www.federid.org/
Open Source identities management and federation
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org
--
Andreas Andreou - andy...@apache.org - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org