tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Wyraz <michael.wy...@evermind.de>
Subject Re: Tapestry 5.4 - Integrating angular
Date Fri, 08 Nov 2013 22:12:20 GMT
In my proof-of-concept app I decided to use REST (tynamo-resteasy) for 
binding the gui to the backend. So I do not use tapestry forms at all.

IMO tapestry forms have too many restrictions (especially when form 
elements are dynamic added/removed). We developped many workarounds 
(e.g. manipulating t:formdata for adding/removing form elements) - but 
this is so annoying that I often thought about re-implementing the 
forms. For new client-side apps I see no reason to  rely on tapestry's  
form implementation.


> I thought about Angular/Tapestry integration and I see one issue so far:
>
> Is's integrating with Tapestry5 forms
>
> Angular can update DOM on the client-side but you won't be able to submit
> that form, to be more correct because tapestry won't be able to handle
> submitted data (translate values, validate, etc.) because it doesn't know
> about them -- they won't be in t:hidden field
>
> Correct me if I'm wrong, but you will have to manually handle this data by
> getting it from request parameters. So maybe we will need some alternative
> to default form component here, maybe using some REST endpoints for
> handling of POSTs, not sure.
>
>
> On Thu, Nov 7, 2013 at 6:40 PM, Michael Wyraz <michael.wyraz@evermind.de>wrote:
>
>> Hi,
>>
>> I could solve it - just needed to bootstrap angularjs manually:
>>
>> - remove ng-app from my html
>> - add initializer code:
>> angular.bootstrap(document.getElementById('myapproot'),[MyApp']);
>>
>>
>>
>>
>>   Hello Thiago,
>>> thank you for fast reply. I'll check this as soon as my app runs.
>>>
>>> At the moment I try to get angularjs to work as module. A while ago you
>>> wrote that you already did this and solved the problems.
>>>
>>> What I've done:
>>> - downloaded angular.zip, extracted to META-INF/assets/angular
>>> - added  a new JavaScriptModuleConfiguration named "angular" that points
>>> to angular.js
>>> - changed my initializing code to
>>>
>>>       require(["angular","jquery"],function() {
>>>
>>>            var app = angular.module('MyApp', []);
>>>       ...
>>>
>>> Angularjs bootstrapsbut fails to find the module. I found that it starts
>>> with bootstrapping before my "var app = angular.module" code is called.
>>>
>>> Any idea what's going wrong there?
>>>
>>> Regards,
>>> Michael.
>>>
>>>
>>>
>>>
>> --
>> Mit freundlichen Grüßen / Regards
>>
>> Michael Wyraz
>>
>> evermind GmbH
>> Schorlemmerstraße 1
>> 04155 Leipzig
>>
>> Tel.:       +49 (0)341-25 39 66 - 0
>> Fax:        +49 (0)341-25 39 66 - 1
>> Funk:       +49 (0)177-73 00 00 3
>> E-Mail:     michael.wyraz@evermind.de
>>
>> HRB: 21586
>> Amtsgericht Leipzig
>>
>> Geschäftsführer:
>> Christoph Klemm
>> Thomas Grünert
>> Michael Wyraz
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: dev-help@tapestry.apache.org
>>
>>
>


-- 

Mit freundlichen Grüßen / Regards

Michael Wyraz

evermind GmbH
Schorlemmerstraße 1
04155 Leipzig

Tel.:       +49 (0)341-25 39 66 - 0
Fax:        +49 (0)341-25 39 66 - 1
Funk:       +49 (0)177-73 00 00 3
E-Mail:     michael.wyraz@evermind.de

HRB: 21586
Amtsgericht Leipzig

Geschäftsführer:
Christoph Klemm
Thomas Grünert
Michael Wyraz


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Mime
View raw message