PDA

View Full Version : Release Update - Code and Screenshot added



jack.slocum
12 Feb 2007, 11:27 AM
My personal deadline for Ext 1.0 beta 1 was for the 15th. I am now targeting Monday, as the few extra days over the weekend will help to get everything in line.

Here's a list of things left to be done, and what has been completed:

Fx: New Ext.Fx built onto the Element object. They support automatic sequencing, stop queues, blocking and concurrent effects. 8 way sliding, 8 ways ghosting, puff etc. Net weight: 7.5kb.
Actor, Animator will be deprecated.

Form Fields: TextField, TextArea (auto grow), DateField, NumberField and Field (wraps selects and other elements). Supports as you type validation (configurable) from grid editors.

Inline Editors: Floating editors supporting the fields noted above. These same editor classes are now used by the grid, so making new grid editors will be a snap. A complex editor will extend on top of this that supports auto server posts (probably not til 1.1).

PagingBar: Grid paging toolbar refactored from the grid and able to be used stand-alone. Can be used to page Ext.View, etc.

Still to do:
Update Ext.View for new Ext.data package. JsonView will be deprecated, since the data package provides for more powerful JSON loading, filtering and STABLE SORTING.

Complete Editing grid keyboard navigation schemes. There are 3 partially completed: RowSelectionModel + editing, CellSelectionModel + editing (Excel style) and instant editing style (like .33 grid).

Automatic save marshalling planned for Ext.data package has been pushed to 1.1.

Form layouts and form handlers (other than fields) aren't completed and will be beta 3.

Thanks for your patience everyone. 1.0 is getting closer.

Edit
I thought you guys might be interested in seeing a new screenshot. It's a grid in multi-line mode, with new styling options reading a JSON feed of the forums (local copy).

http://www.jackslocum.com/blog/images/screenshots/ml-grid.jpg

The code looks like this:

Define data store:

// define the "Topic" record, mapping json data to record fields
var Topic = Ext.data.Record.create([
{name: 'title', mapping: 'topic_title'},
{name: 'author', mapping: 'username'},
{name: 'totalPosts', mapping: 'topic_replies', type: 'int'},
{name: 'lastPost', mapping: 'post_time', type: 'date', dateFormat: 'timestamp'},
{name: 'lastPoster', mapping: 'user2'},
{name: 'excerpt', mapping: 'post_text'}
]);

// create reader that reads into Topic records
var reader = new Ext.data.JsonReader({
root: 'topics',
totalProperty: 'totalCount',
id: 'topic_id'
}, Topic);

// create the Data Store
var ds = new Ext.data.Store({
// load using HTTP
proxy: new Ext.data.HttpProxy({
url: '/forum2/topics3.php',
method: 'POST'
}),

// let it know about the reader
reader: reader,
// turn on remote sorting
remoteSort: true
});
ds.setDefaultSort('lastPost', 'desc');

And the grid itself:


// the column model has information about grid columns
// dataIndex maps the column to the specific data field in
// the data store
var cm = new Ext.grid.ColumnModel([{
id: 'topic', // id assigned so we can apply custom css
// (e.g. .ext-grid-col-topic b { color:#333; })
header: "Topic",
dataIndex: 'title',
width: 420,
renderer: function(value, p, record){
return String.format('{0}{1}', value, record.data['excerpt']);
},
css: 'white-space:normal;' // allows adding custom css to the column css rules
},{
header: "Total Posts",
dataIndex: 'totalPosts',
width: 70,
align: 'right'
},{
header: "Last Post",
dataIndex: 'lastPost',
width: 150,
renderer: function(value, p, r){
String.format('{0}
by {1}', value.dateFormat('M j, Y, g:i a'), r.data['lastPoster']);
}
}]);

// by default columns are sortable
cm.defaultSortable = true;

// create the grid
var grid = new Ext.grid.Grid('topic-grid', {
ds: ds,
cm: cm,
selModel: new Ext.grid.RowSelectionModel({singleSelect:true}),
enableColLock:false
});

// render it
grid.render();

// get the new footer panel
var gridFoot = grid.getView().getFooterPanel();
gridFoot.show(); // remove display none

// create a paging toolbar in the footer
var paging = new Ext.PagingToolbar(gridFoot, ds, {pageSize: 25});

/ trigger the data store load
ds.load({params:{
start:0,
limit:25,
forumId: 4
}});

KimH
12 Feb 2007, 11:56 AM
Sounds really great, Jack!

REALLY looking forward to monday then. Really nice finally having a specific date to give to our customers. :)

greyknght1
12 Feb 2007, 12:17 PM
Autogrowing text area! Paging bars? What more can a gent ask for!

PortraitPainter
12 Feb 2007, 1:13 PM
My personal deadline for Ext 1.0 beta 1 was for the 15th. I am now targeting Monday, as the few extra days over the weekend will help to get everything in line.
It will take however long it takes Jack, just make sure you enjoy starting work each day.


Complete Editing grid keyboard navigation schemes. … RowSelectionModel + editing, CellSelectionModel + editing (Excel style) and instant editing style (like .33 grid).
I am really pleased to see the row selection + editing model. Cell level editing is too casual for many financial type applications where an edit completion event might trigger a DB transaction.

manugoel2003
12 Feb 2007, 11:23 PM
sounds cool.... i am really looking forward for the new grid and the form engine.... Mondays have never been so exciting before :D

jack.slocum
13 Feb 2007, 1:43 AM
Bumped for edit above!

seldon
13 Feb 2007, 2:48 AM
What I dont understand is the following: why go from latest release 0.33 immediately to 1.0 ??

jack.slocum
13 Feb 2007, 3:10 AM
New name, new license, 5-6 new components and many enhancements to existing components. If I were microsoft, I'd probably be jumping to 6.0. ;)

mdissel
13 Feb 2007, 3:13 AM
Nice!! showing screenshots like this will bumpup the question :wink: ..... target date for the alpha release is still the 15th?

Thanks

Marco

Webnet
13 Feb 2007, 5:38 AM
omg......

BernardChhun
13 Feb 2007, 5:59 AM
sweet! :shock:

wq7278
13 Feb 2007, 10:54 AM
Wow, this is cool, exactly what I am waiting for.
Looking forward to it. will us it in my screen. Great work!

Herm
13 Feb 2007, 1:30 PM
Jack wrote:

// create the Data Store
var ds = new Ext.data.Store({
// load using HTTP
proxy: new Ext.data.HttpProxy({
url: '/forum2/topics3.php',
method: 'POST'
}),


Local storage! Legendary. Whose data store/layer is it? Dojo, Flash/FF2 native, Ext's own etc? Whose proxy? Which browsers? What are the limitations etc?

vk_phoenixfr
14 Feb 2007, 1:42 AM
Wow Jack I'm still very happy about yui-ext, and using it for a few weeks already, this is great.
I'm really looking forward to release 1.0. :D

Keep up the good work !

jack.slocum
14 Feb 2007, 10:55 AM
Herm, there aren't any local storage providers yet, but it is set up for it. The design allows data to be proxied in from anywhere, e.g. local storage, DWR or whatever through a defined interface. The proxies I have already done are HttpProxy (XHR of course), MemoryProxy for Arrays and local data, and a new one ScriptTagProxy which allows cross domain loading into grids, views, forms or whatever for sites which support callbacks.

ealameda
15 Feb 2007, 1:23 PM
Form layouts and form handlers (other than fields) aren't completed and will be beta 3.

I looked all over the site and couldn't find any references to what this is.

Is there any information on that this is going to be?

My mind is running wild with some dreams of what it could be.

ekepler
15 Feb 2007, 1:55 PM
I am also interest in this feature.

brian.moeskau
15 Feb 2007, 1:59 PM
I don't know all the details, but there will be support for auto-layout forms, with field anchoring, etc. so that you can define form layouts programmatically. Also, all of the form editor fields will support built-in and custom validation via Ext.