Would like to help?

Sep 4, 2008 at 9:38 PM
Firstly, very well done. I really like your approach.

Ive been following several ExtJS .Net solutions:
  1. ExtExtenders - Love there work, but it falls apart during postbacks (Plus its ASP based, not MVC based).
  2. ExtSharp - Love the intellisense support, but looking for more of a form/control based solution.

I think you may have found the perfect middle ground.
Im intending to impliment a in-house solution, for my current employer, combining MVC and ExtJS and im tempted togo with your approach.

Just a couple of questions:
  1. Realistic Progress, and input (Creating an abstraction layer for the whole of ExtJS is a mamouth task. Virtually impossible for one man alone).
  2. Can we change the events to properties (prefixed with "on"), then provide extra mappings to there ExtJS relevant events. I know its more work but id prefer controls to have properties like "onClick".
  3. If "RenderTo" does not defined, auto render to parent.
  4. Remove the resources from the dll, back into the site. I know that by including them in the dll you could inject only the JS files used by each control, but i think if your going togo with ExtJS you have to accept the overhead of "ext-all.js". Plus you could provide theme support by injecting the relevant theme CSS file at the page level.

This is also a call to anyone else interested in contributing to this project. I think to make this work we need at least 3 people who can contribute a minimum of day a week to this.
Sep 5, 2008 at 8:27 PM

Thanks! I'm glad to finally see some interest in contributing. I appreciate that you like what I've done so far. As for your questions:

1) I agree, I have not been able to make decent progress on my own. I myself am a noob at ExtJs and I have been not been working on this project. I've been working on a startup instead, but I've been using ExtJs so I can get a better handle on it in order to make sure I get this project right.

2) Sure, I did it as a shortcut but was planning on making the change before any final release.

3) Makes sense.

4) I'd prefer a middle ground somewhere. I don't have a problem with ext-all.(js/css) - the project currenly always includes it and isn't currently injecting the control specific scripts (even though it's capable) - but I wanted to be able to work with the controls w/o having to worry about including the script dependencies. I haven't given it much thought yet, but maybe we could either provide a config setting for pointing to the scripts, or some project/item templates that would include the scripts properly (again, just off the top of my head).

Sep 5, 2008 at 8:31 PM
Let me know if you'd like to be added to the project team.
Sep 8, 2008 at 8:25 AM
4) Yer a config setting would be fine. I guess i look at ExtJS as a "all or nothing" solution. So for me, id prefer to control the resources externally, but it makes sense to cater for those who would like to "pick and mix" controls as well. Id probably define a function within the base classes, that injects the scripts. Then use a config setting to determine if this function is called or not (if you'd like to go with a dll itself injecting the scripts then it makes sense to only add the scripts used by each control thats present)

Im alittle fussy about formatting. So id like all updates to use regionerate "http://www.rauchy.net/regionerate/", its just a quick way of organising constructors, properties and functions.

Im still working on the backend for my current solution, so progress will be limited at first. But will speed up quite quickly once i begin to impliment the front end.

Yer please add me to the project team.

Sep 8, 2008 at 2:32 PM
Right i think ive cracked it! Forget the "limited at first" comment, lol.

  • Ive defined a custom Attribute, that you declare on each ExtJs property.
  • Ive then rewritten your "GetScriptDescriptors()" method in "ExtJsControl", so that it scans through all properties and adds them to the descriptor list, using the name defined in the custom Attribute.

So now we can declare Properties with their .Net equivilant (eg: Starting with captial letters, and events prefixed with "on"), and have them correctly mapped without having to write a "GetScriptDescriptors()" method for each control.

This should greatly speed up development!

Upload any updates you may have, and if you add me to the project team i'll upload a mojor update by the end of the week.
Sep 8, 2008 at 3:18 PM
Edited Sep 8, 2008 at 3:20 PM
Nice, I didn't like having to create the GetScriptDescriptors() method for all controls. So now it's just where it's needed.

Which version of MVC are you using? I haven't updated it yet, but I think Preview 5 is the current release. We should try and stay up to date with the latest.

The project is up to date except for the MVC sample page. But cpc is giving me a connection error right now so you're free to update your changes. I'll review them as you do.
Sep 8, 2008 at 3:22 PM
Fixed connection issue with cpc, change to sample page is now checked in.
Sep 8, 2008 at 3:32 PM
RE: regionerate, as far as I can tell I have no problem using it with the project. I'm not sure I want to make it a requirement for any one working on the project. But from what I've seen so far I don't think that will be a problem since it shouldn't be difficult to ask that the code written follows the rules being used by regionerate. Not saying I have a problem with using it myself, in fact it seems to make sense to use it. But I don't see any reason to require it.
Sep 8, 2008 at 3:32 PM
You still need to overwirte it when youve got child controls (eg: menu items), but you just call the base method then add the additional items.
Still ironing out some issues with null values, but its almost there.

Im using Preview 5. "Ajax MVC" runs fine without any changes.

Dont worry about the sample page, im creating my own as i go. Aiming to have one page for each control, and then some mashup pages.
Sep 8, 2008 at 3:49 PM
Sorry "regionerate" isnt a requirement its just the quickest way to organise code.

As long as everythings seperated into "Fields", "Constructors", "Properties", "Functions", i dont really care how people go about it.
Sep 8, 2008 at 5:06 PM
Edited Sep 8, 2008 at 5:08 PM
>You still need to overwirte it when youve got child controls (eg: menu items), but you just call the base method then add the additional items.
>Still ironing out some issues with null values, but its almost there.

Great, that's what I expected

>Sorry "regionerate" isnt a requirement its just the quickest way to organise code.

Np, my first open source project, I'm just erring on the side of "over communicating". I like the tool myself, just don't really want any requirements for contributing other that what's needed for source control.

EDIT: Stupid Google Crome keeps inserting "0$" for all my line breaks. So much for using beta stuff.