Creating Custom Extension Controls In Gaia

Modified: 2008/09/06 10:32 by RugWarrior - Uncategorized
Edit

Introduction to Ajax Extension Controls with Gaia

Gaia has as of the 3.0 version an extremely powerful server-side Ajax Extension controls model. In fact in the 3.0 version we have started creating a lot of really complex Ajax Controls ourselves without even writing any JavaScript. One prime example of such an Extension Control is our Gaia.WebWidgets.Extensions.ExtendedPanel.

Edit

Composite Building Blocks

You can easily compose quite powerful Ajax Controls yourself by combining through composition existing controls together. If you look at our ExtendedPanel for instance you will see that basically it is nothing more than a normal Gaia Ajax Panel which adds up some custom rendering through using our XhtmlTextWriter API and adds up a couple of Ajax building blocks controls like our Gaia.WebWidgets.Label and our Gaia.WebWidgets.LinkButton.

The Caption of our ExtendedPanel is just a Gaia Label and the "Toggle" button is nothing more than a normal LinkButton. In addition we have some Gaia.WebWidgets.Effects which are running if you have set its AnimationDuration property to anything but "0".

Edit

There are three basic ways of writing Custom Ajax Extension Controls by using Gaia Ajax Widgets


Edit

Promoting your Ajax Extension Controls

If you create some nice extension controls, either for free for others to use or for selling at your own website you can publish them here on your own page at this wiki. All you have to do is register for an account. Just publish the component as an attachment, provide usage guidelines and maybe a few screenshots and the rest of the community can enjoy your work.

Edit

Use Forums for discussions

Then you can create your own forum thread in the Gaia forums to discuss your component. If your controls is really good it can be subject to be part of the CommunityExtensions project that ship with Gaia Ajax.

ScrewTurn Wiki version 2.0.33. Some of the icons created by FamFamFam.