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

Esteban A. Maringolo emaringolo at gmail.com
Tue Sep 30 15:10:15 UTC 2014


Oh... okay. My bad.

I submitted the issue #830 with the same contents of my initial email
https://code.google.com/p/seaside/issues/detail?id=830

Regards,

Esteban A. Maringolo


2014-09-30 11:48 GMT-03:00 Johan Brichau <johan at inceptive.be>:
> 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
>
>
>
> _______________________________________________
> seaside-dev mailing list
> seaside-dev at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev
>


More information about the seaside-dev mailing list