Bob Ippolito schrieb:
> On 11/2/06, Diez B. Roggisch <[EMAIL PROTECTED]> wrote:
>> Hi,
>>
>> I'm trying to build a nice widget-wrapper around the YUI-component lib.
>> Things are nice and smooth except for one thing: the components can get
>> effects as arguments, basically a constructor and some arguments.
>>
>> Now this is what the generated JS looks like:
>>
>> resizepanelwin = new YAHOO.widget.Panel("resizepanelwin",
>> {"visible": false,
>>   "effect": {"duration": 0.25, "effect":
>> "YAHOO.widget.ContainerEffect.FADE"},
>> "constraintoviewport": true,
>> "draggable": true, "width": "23em",
>> "modal": false, "close": true,
>> "underlay": "none", "fixedcenter": true} );
>>
>>
>> as you can see, the effect.effect is a string. Yet it should be rendered
>> without quotes, so that the eval will evaluate it to the
>> constructor/callable.
>>
>> Any suggestion on how to make that happen?
> 
> You don't, that's not JSON. You need to process it in JavaScript to
> get the objects you want.
> 
> result.effect.effect = eval(result.effect.effect);

Okay. I can use that. However, because I didn't think of that 
possibility, I dug into the simplejson code and introduced a 
JSLiteral-class that can wrap a string to simply pass it through without 
encoding.

I do like that better than your proposed solution for a simple reason: 
it's simpler :)

Now - your comment implies that JSON is specfied in a certain way, which 
doesn't allow for this. Ok. But I think that I have a real usecase here. 
Especially when there are situations where one can't control the 
javascript that will use the JSON-output (which I'm capable of, in this 
case, but other cases one can't), it might save one from larger troubles.

Are you adamant about not putting it into simplejson?

Diez

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/turbogears
-~----------~----~----~----~------~----~------~--~---

Reply via email to