At our company we've been using wicket and ExtJS (1.1) quite successfully for
a while now.  Here are the components we have working:
 - Accordion - Using a RefreshingView to populate the accordion, rendered by
Ext in the browser
 - BorderLayout (really doesn't tie to Wicket, we just made a page which
uses the BorderLayout)
 - Modal Panel (not using Wicket's ModalPanel)
 - Drag and drop dashboard - Still has problems, but uses a refreshingview
to create divs which each are rendered as DnD components by Ext
 - Form components (date picker, better-styled text boxes)

The basic pattern we're using is to generate markup with Wicket, and use
behaviors to decorate the wicket components with ExtJS components.  Managing
the complete lifecycle of the Ext component is the trickiest part, but is
manageable.

Personally I think there are two of us who would like to contribute to a
WicketStuff project around this, but will have to check with company
policies about contributing code we've written.


xdirewolfx wrote:
> 
> I will be helping out as well as my company is using extjs and we are
> planning to move to wicket from existing web framework
> 
> Matt Jensen-2 wrote:
>> 
>> 
>> I would be willing to contribute to this project, but I don't have the 
>> knowledge of Wicket internals (nor ExtJS internals, really) to pull off 
>> the core design.  If somebody starts this, he/she can count on a couple 
>> hours per week from me.
>> 
>> Martijn Dashorst wrote:
>>> Sounds like a good wicketstuff project... Do you care to start one?
>>>
>>> Martijn
>>>
>>> On Jan 9, 2008 7:02 PM, Paolo Di Tommaso <[EMAIL PROTECTED]>
>>> wrote:
>>>   
>>>> This is really an interesting topic!
>>>>
>>>> I've made some Wicket-Extjs integration tests and I haven't found any
>>>> particular issues to make them work smoothly together.
>>>>
>>>> Extjs UI widgets can be created dynamically or can be attach to
>>>> existing
>>>> HTML elements using the element IDs.
>>>>
>>>> Following the latter approach is quite easy integrate Extjs with
>>>> Wicket.
>>>>
>>>> The simplest way I've tried is using a behavior to 'attach' an Extjs
>>>> widget
>>>> to Wicket component.
>>>>
>>>> For example:
>>>>
>>>> public class ExtDateFieldBehavior extends ExtAbstractBehavior{
>>>>
>>>>     @Override
>>>>     String getExtjsClassName() {
>>>>         return "Ext.form.DateField";
>>>>     }
>>>>
>>>> }
>>>>
>>>> public abstract class ExtAbstractBehavior extends AbstractBehavior {
>>>>
>>>>
>>>>     /**
>>>>      * Used to add all common Extjs required JavaScript and CSS
>>>> resources
>>>>      */
>>>>     @Override
>>>>     public void bind(Component component) {
>>>>         if( component == null ) throw new
>>>> IllegalArgumentException("Argument
>>>> cannot be null");
>>>>         component.setOutputMarkupId(true);
>>>>         component.add(HeaderContributor.forCss( Extjs.Css.EXT_ALL ));
>>>>         component.add(HeaderContributor.forJavaScript(
>>>> Extjs.Js.EXT_BASE ));
>>>>         component.add(HeaderContributor.forJavaScript(
>>>> Extjs.Js.EXT_ALL_DEBUG ));
>>>>     }
>>>>
>>>>
>>>>     abstract String getExtjsClassName();
>>>>
>>>>     abstract String getOptions();
>>>>
>>>>     @Override
>>>>     public void onRendered( Component component ) {
>>>>         /* create a copy of options */
>>>>         Config options = new Config( config );
>>>>         /* initialization */
>>>>         config(component,options);
>>>>         /* get the string version */
>>>>         String sConfig = Extjs.serialize(options);
>>>>
>>>>         String extjs = "new " + getExtjsClassName() + "(" +
>>>> getOptions() +
>>>> ");";
>>>>         //TODO log here
>>>>
>>>>         Response r = component.getResponse();
>>>>         r.write( JavascriptUtils.SCRIPT_OPEN_TAG );
>>>>         r.write( extjs );
>>>>         r.write( JavascriptUtils.SCRIPT_CLOSE_TAG );
>>>>     }
>>>> }
>>>>
>>>>
>>>> That's all!
>>>>
>>>> Obviously this is just a simple test but it works and can be extended
>>>> easily
>>>> for other widgets.
>>>>
>>>>
>>>> What I've found not trivial is to pass/define the Extjs widget
>>>> property/configuration in a easy/elegant way.
>>>>
>>>> Would be interesting discuss this...
>>>>
>>>> -- Paolo
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Jan 9, 2008 6:25 PM, Jeremy Fergason <[EMAIL PROTECTED]>
>>>> wrote:
>>>>
>>>>     
>>>>> wicket seems to provide some nice management classes like TextField,
>>>>> that
>>>>> do
>>>>> things like set the value for you, I don't see how to integrate this
>>>>> with
>>>>> a
>>>>> javascript solution like ExtJs which does not use an <input
>>>>> type="text"
>>>>> ...
>>>>> tag.  It could be something very simple and I am just missing it, if
>>>>> so
>>>>> please point me in the right direction.
>>>>>
>>>>> Thanks!
>>>>>
>>>>> On Jan 9, 2008 10:19 AM, Martijn Dashorst <[EMAIL PROTECTED]>
>>>>> wrote:
>>>>>
>>>>>       
>>>>>> What is keeping you from building it?
>>>>>>
>>>>>> Martijn
>>>>>>
>>>>>> On Jan 9, 2008 6:15 PM, Reinout van Schouwen <[EMAIL PROTECTED]>
>>>>>> wrote:
>>>>>>         
>>>>>>> Op woensdag 09-01-2008 om 09:07 uur [tijdzone -0700], schreef Jeremy
>>>>>>> Fergason:
>>>>>>>
>>>>>>>           
>>>>>>>> I'm just starting out with wicket and I would like to use a
>>>>>>>>             
>>>>>> client-side
>>>>>>         
>>>>>>>> javascript library--ExtJs, to enhance the end user experience.
>>>>>>>>             
>>>>>>> +1
>>>>>>>
>>>>>>> At my company we use Ext2 and are very enthousiastic about it.
>>>>>>> I want to move us from Struts to Wicket but lack of support for Ext2
>>>>>>> would be a roadblock...
>>>>>>>
>>>>>>> --
>>>>>>> Reinout van Schouwen
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>>
>>>>>>>
>>>>>>>           
>>>>>>
>>>>>> --
>>>>>> Buy Wicket in Action: http://manning.com/dashorst
>>>>>> Apache Wicket 1.3.0 is released
>>>>>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.0
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>
>>>>>>
>>>>>>         
>>>
>>>
>>>
>>>   
>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/integrating-extjs-with-wicket-tp14715123p15058981.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to