Ext 3.0 Final is out

July 6, 2009 by Eugene

We are pleased to announce that Ext 3.0.0 is now available for download.
http://extjs.com/products/extjs/download.php

We are working on the official blog post to notify the general public. Some exciting new upcoming changes are:
* A more rigorous release schedule ensuring quality builds
* New Development practices separating trunk and patch branches
* Bi-weekly patch builds for support subscribers
* A QA Team to monitor changes in the source code and provide testing
* A new cross platform build process
* An executable doc application
* A public SVN Commit log to see what changes are being made even if you don’t have a support subscription

via Aaron Conran

Ext JS 3.0 RC3 is out

July 1, 2009 by Eugene

Ext JS 3.0 RC3 is now available.

Downloads: http://extjs.com/products/extjs/download.php
Examples: http://extjs.com/deploy/ext-3.0-rc3/examples/
Docs: http://extjs.com/deploy/ext-3.0-rc3/docs/

Ext JS 3.0 Final will be released on Monday.

via Aaron Conran

Ext.Direct for ASP.NET MVC

June 25, 2009 by Eugene

I recently released Ext.Direct server-side stack implementation for ASP.NET MVC. You can read about it and download the source in this topic. I will be posting there and updating the first post about any changes. If you are not yet familiar with Ext.Direct, it is a package in Ext JS 3.0 that makes communication between your client and server extremely easy. You can read about it in this official blog post.

Ext JS 3.0 RC2 Released

June 3, 2009 by Eugene

We are pleased to announce that the latest release candidate of Ext 3.0 is now publicly available. We are very proud of the stability of this release. We’d like to thank our support team and elite community members who have tested the release candidates. You have assisted in squashing a number of bugs affecting both Ext Core and Ext JS. The time taken to report issues and create test cases is much appreciated. The list of issues resolved for this deployment can be found for Ext Core and Ext JS separately.

Read the full article on Ext JS Blog

Ext Bug Fixes for 3.0-rc2

Using ref config option in Ext JS 3.0

May 18, 2009 by Eugene

In Ext JS 2.x if you needed to get a reference to a Component which was nested deep inside a Container and you had a reference only to this Container, you could either assign that Component a unique id and use it with Ext.getCmp() or call a particular method of the Container and, if necessary, methods of other nested containers depending where the Component is in that hierarchy. Ext JS 3.0 makes it a little easier with the new itemId config (see my previous post).

In addition to itemId another new configuration option is introduced in Ext JS 3.0 which is supposed to completely eliminate problems like the one described above. The name of this config is ref.

ref is a path specification, relative to the Component’s container (ownerCt) specifying into which ancestor Container to place a named reference to this Component. The ancestor axis can be traversed by using ‘/’ characters in the path. For example, to put a reference to a Toolbar Button into the Panel which owns the Toolbar:

var myGrid = new Ext.grid.EditorGridPanel({
    title: 'My EditorGridPanel',
    store: myStore,
    colModel: myColModel,
    tbar: [{
        text: 'Save',
        handler: saveChanges,
        disabled: true,
        ref: '../saveButton'
    }],
    listeners: {
        afteredit: function() {
//          The button reference is in the GridPanel
            myGrid.saveButton.enable();
        }
    }
});

In the code above, if the ref had been 'saveButton' the reference would have been placed into the Toolbar. Each ‘/’ in the ref moves up one level from the Component’s ownerCt.

Think about places where you could benefit from this config. It’s a small thing that has huge impact.

id vs. itemId

May 18, 2009 by Eugene

In Ext JS 2.x if you need to access any component anywhere in your code and you don’t have an object reference available, you have to assign that component an id and later pass it to Ext.ComponentMgr.getCmp() method (or its alias Ext.getCmp()) to retrieve the reference to the component. Since Ext JS uses a global MixedCollection to store components’ id’s, you must use unique id for every component that you create. While it has worked for most developers, it is often hard to keep track of used ids, especially if you are a member of a bigger team that works on one project.

In Ext JS 3.0 an itemId can be used as an alternative way to get a reference to a component when no object reference is available. Instead of using an id with Ext.getCmp(), use itemId with Ext.Container.getComponent() which will retrieve itemId’s or id’s. Since itemId’s are an index to the container’s internal MixedCollection, the itemId is scoped locally to the container, avoiding potential conflicts with Ext.ComponentMgr which requires a unique id.

var c = new Ext.Panel({
    height: 300,
    renderTo: document.body,
    items: [{
        itemId: 'p1',
        title: 'Panel 1',
        height: 150
    }, {
        itemId: 'p2',
        title: 'Panel 2',
        height: 150
    }]
});

var p1 = c.getComponent('p1'); // not the same as Ext.getCmp()
var p2 = p1.ownerCt.getComponent('p2'); // reference via a sibling

Ext JS 3.0 – Remoting for Everyone

May 13, 2009 by Eugene

As developers, we spend countless hours researching best practices to build engaging software. Often we find ourselves implementing the same repetitive functionality to wire our frontend to our backend. We’ve become accustomed to partaking in complicated design patterns to help separate logic from presentation – forcing the browser to play the role of a dumb terminal. While the RIA movement has unshackled the web browser from that awful fate, accessing our server side logic remains mostly unchanged. Ext.Direct aims to solve this issue for developers creating Ext JS applications by providing a single communication point with the server-side.

Read the full article on Ext Blog

Ext.Direct Remoting Specifications

Using fbar config option in Ext JS 3.0

May 6, 2009 by Eugene

Rendering a panel or a window that has a footer that contains action buttons, is a very common task for UI developers. This tutorial demonstrates how to use the new and still undocumented fbar configuration option in Ext JS 3.0 for advanced footer rendering.

Read the rest of this entry »

Editing static text with Ext.Editor

May 4, 2009 by Eugene

This tutorial demonstrates how to use Ext.Editor to implement inline editing of static text on a web page. Ext.Editor is a base editor field that handles displaying/hiding on demand and has some built-in sizing and event handling logic.

Read the rest of this entry »

Ext JS 3.0 RC1.1 Released

May 4, 2009 by Eugene

The Ext Team is proud to announce the release of Ext JS 3.0 RC1.1 available for immediate download. This new version of the Ext framework is the culmination of many long hours of dedication by the Ext Team.

There are many enhancements in Ext JS 3.0, too many to include in a single post. Some of the major features in Ext JS 3.0 are the splitting of Ext Core and Ext JS, Charting for visualizations, additional User Interface improvements, CRUD-like support with Ext.data.DataWriter, Remoting using Ext.Direct, CSS enhancements to make theming easier, and Accessibility improvements – Section 508 and ARIA support. We also fixed several browser issues for the latest Chrome and Safari releases and added IE8 support.

Read the full article on Ext Blog

Updated links to the samples and docs:

Ext JS 3.0 Samples & Demos
Ext JS 3.0 API Documentation