[Seaside-dev] Re: Javascript Condition with else decoration

Johan Brichau johan at inceptive.be
Tue Sep 30 14:48:48 UTC 2014


Hi Esteban,

I picked up your request and was going to look at it but ran out of time.
The best idea is to create a ticket on https://code.google.com/p/seaside/issues/list

thanks
Johan

On 30 Sep 2014, at 15:24, Esteban A. Maringolo <emaringolo at gmail.com> wrote:

> No replies to this request in a week.
> Can I have write access to the repo?
> 
> Who is the principal maintainer of Seaside?
> 
> Esteban A. Maringolo
> 
> 
> 2014-09-22 17:21 GMT-03:00 Esteban A. Maringolo <emaringolo at gmail.com>:
>> I was trying to implement a classical "if {...} else {...}" object using
>> JSDecorations.
>> Then I found there is a JSCondition, but there is no way to describe an
>> "else" statement.
>> 
>> Also there is an JSIfThenElse decoration, but it is implemented as a ternary
>> operator (x ? y : z) instead of 'if(x){ y} else {z}'
>> 
>> So I added an extension to JSObject, named #condition:else: and also a
>> JSConditionElse decoration which produces the expected output.
>> 
>> Can this be added to the main trunk of the Javascript-Core package?
>> 
>> The changes are attached.
>> 
>> 
>> With these modifications I was able to transform this Javascript:
>>    $('#ajaxId tbody').on( 'click', 'tr', function () {
>>        if ( $(this).hasClass('selected') ) {
>>            $(this).removeClass('selected');
>>        }
>>        else {
>>            $('#ajaxId tr.selected').removeClass('selected');
>>            $(this).addClass('selected');
>>        }
>>    } );
>> 
>> Into this:
>> 
>> | selClass |
>> selClass := 'selected'.
>> ^ (html jQuery: '#' , self ajaxId , ' tbody')
>> on: 'click'
>> selector: 'tr'
>> do:
>> ((html jQuery this removeClass: selClass)
>> condition: (html jQuery this hasClass: selClass)
>> else:
>> (JSScript new
>> add: ((html jQuery: '#' , self ajaxId , ' tr.' , selClass) removeClass:
>> selClass);
>> add: (html jQuery this addClass: selClass);
>> yourself))
>> 
>> 
>> Esteban A. Maringolo
>> 
>> ps: An alternative solution would be to modify the JSIfThenElse, but this
>> would require adding returns to the trueStatement and falseStatement of this
>> class.
> _______________________________________________
> seaside-dev mailing list
> seaside-dev at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside-dev/attachments/20140930/f10f1973/attachment.htm


More information about the seaside-dev mailing list