» tagged pages
» logout

(Feed found, click Add Page to syndicate.) Error finding feed, please try again » Find feed title

A Blog Page allows you to add entries, for news or other time sensitive postings

(Login required to save to your tagged pages.)
(or Cancel)

Make further edits, (or Cancel)

(Login required to save to your tagged pages.)
(or Cancel)

(Editing anonymously: to be credited for your changes, login or register a new account)

Change Page Permissions? Changing these permissions will adjust who can modify this page.

Anonymous (change)
Swik Users (change)
(or Cancel)
Upload an image from your computer:
or Copy an image from a URL:
or Erase the current icon:
Icon Preview:

or Cancel

Erase ext? The contents of ext page and all pages directly attached to ext will be erased.

or Cancel

(Editing anonymously: to be credited for your changes, login or register a new account)

other page actions:
ext

ext

Tags Applied to ext

No one has tagged this page.

ext Wiki Pages

Ext is a client-side, JavaScript framework for building web applications. In early 2006, Jack Slocum began working on a set of extension utilities for the Yahoo! User Interface (YUI) library. These extensions were quickly organized into an independent library of code and distributed under the name “yui-ext.” In the fall of 2006, Jack released version .33 of yui-ext, which turned out to be the final version of the code under that name (and under the open source BSD license). By the end of the year, the library had gained so much in popularity that the name was changed simply to Ext, a reflection of its maturity and independence as a framework. A company was formed in early 2007, and Ext is now dual-licensed under the LGPL and a commercial license. The library officially hit version 1.0 on April 1, 2007.

Jack Slocum
extjs.com
LGPL

sorted by: recent | see : popular
Content Tagged ext

Ruby JSON

json: del.icio.us/tag/json

Ext JS Key mapping; Keyboard handling as a first class citizen

I am a strong believe in making the keyboard a first class citizen for your applications, including on the Web. Thus, I was interested to read how Ext JS has keyboard handling that ties into the entire system:

Ext.KeyMap

Ext provides several components that support keyboard navigation out of the box such as GridPanel, ComboBox, and TreePanel. To implement custom keyboard handling, developers can use the Ext.KeyMap and Ext.KeyNav classes to attach keyboard bindings to any component or element they wish.

The first set of keys we wanted to handle was all of the Function keys (F1-12). While most browsers reserve some/all of these keys, with some ext-pertise, we are able to override the default function if need be for our application. The application we were working with was completely dynamic and server driven, so we really couldn’t define all of the handlers ahead of time. This led to us dynamically building an array of key handler configuration objects and passing them all through to our new Ext.KeyMap object.

JAVASCRIPT:
  1.  
  2. var keys = [];
  3. for(var i = 0;i <buttons.length;i++) {
  4.     var btn = buttons[i];
  5.     // fkey property contains a string referencing the Ext constants (ie: Ext.EventObject.F1)
  6.     var fk = eval(button.fkey);
  7.     btn.handler = this.handleKey.createDelegate(this, [fk]);
  8.  
  9.     keys.push({
  10.         key: fk,
  11.         handler: this.handleKey.createDelegate(this, [fk]),
  12.         stopEvent: true,
  13.         scope: this
  14.     });
  15. }
  16.  

Ext.KeyNav

The next set of key handling added was some additions to the grid keyboard navigation. The GridPanel has built in key navigation from the RowSelectionModel that it creates. Check out this grid example and select a row, you can then use the arrow keys to move up/down and even hold shift and press down to select a range of rows. We added a simple way to navigate through a large paged data set by extending GrindPanel. The PagingToolbar provides keyboard handling once you’ve focused within the built-in TextField, but we wanted to allow the users to just hit ‘page down’ or ‘end’ when focus was anywhere within the GridPanel and ensure it functions as expected.

JAVASCRIPT:
  1.  
  2. MyGrid = Ext.extend(Ext.grid.GridPanel,{
  3. ...
  4. afterRender : function() {
  5.    MyGrid.superclass.afterRender.call(this);
  6.  
  7.     this.nav = new Ext.KeyNav(this.getEl(),{
  8.         pageDown: this.pagingNav.createDelegate(this,['next']),
  9.         pageUp: this.pagingNav.createDelegate(this, ['prev']),
  10.         home: this.pagingNav.createDelegate(this,['first']),
  11.         end: this.pagingNav.createDelegate(this,['last']),
  12.         scope: this
  13.     });
  14. },
  15.  
  16. pagingNav: function(page) {
  17.     var pt = this.getBottomToolbar();
  18.     if (!pt[page].disabled) {
  19.         pt.onClick(page);
  20.     }
  21. },
  22. ...
  23. });
  24.  

Ajax: Ajaxian

Ext GWT 1.1 Released

Darrell Meyer has announced the release of Ext GWT 1.1 which is said to "shortens the feature set gap between Ext JS."

New Features

The Grid component wraps the Ext JS grid, and it includes support for grid plugins which fit into component lifecycles. You can also use a subclass, EditableGrid which.... allows you to edit content on the fly.

Auto complete has been added to the combo boxes a la Google Suggest.

Portal is a custom layout container that uses a multi-column layout on contains Portlets. Each Porlet can be drag and dropped to change order or move to another column. Each Portlet can contain any content and supports icons to expand / collapse, close, etc.

The desktop mimics the behavior of the operating system look at feel. It is now possible to create multi-window applications with support for a task bar and start menu. Windows support normal, maximize, and minimize states. The start menu is a custom menu that allows new menu items. In addition, there is support for a “task” area for adding additional items.

Java Bean Support with BeanModel

The Ext GWT Store and Binder API work with ModelData instances. The primary goal of ModelData is to provide a type of “introspection” as GWT does not allow runtime inspection of Java objects. You can query ModelData for a list of properties it contains, and these properties can be retrieved and set using the parameter name with the get and set methods.

Although this approach works, it forces you to either implement the ModelData interface in your Java Beans or extend the Ext GWT base classes that implement the ModelData interface. What is missing is a way to use your Java Beans as is, without having to extend the Ext GWT base classes or implement an “invasive” interface.

There are also new examples:

  • Forum search is an example of a combo box, using a custom XTemplate, and remote data. The data can be paged with built-in support for a paging toolbar.
  • Image Chooser shows loading a ListView in a Window. Each item has a linked details view, and the ListView supports custom sorting and filtering.
  • This example shows a Dialog using an AnchorLayout to “anchor” the form fields to the dialog dimensions. When resized, the fields will adjust their size to match the dimensions of the dialog.

Ajax: Ajaxian

Page 1 | Next >>
Username:
Password:
(or Cancel)