Freitag, 28. März 2008

Extjs für den Java-Dummy

Da denkt man, nach mehr als 10 Jahren Java-Praxis kommt man wohl mit einem Javascript-Framework zurecht!

Falsch gedacht. Hier die Klippen sind vielfältig: JSON-Notation, Klassen, prototype, Namespaces. Zu JSON schreibe ich weiter unten was. Die anderen Punkte? Noch keine Ahnung - ehrlich!

Und dann eben noch die Feinheiten von extjs. Ein Beispiel:

Ext.get('id') liefert ein Ext.Element. Das Ext.Element ist ein Wrapper um DOM-Objekte. Allerdings wollte ich die Ext.Component (Button, Panel, etc.), die ich mit der Id angelegt hatte. Hier die Lösung:

Ext.getCmp('id')

JSON

Hierbei handelt es sich um eine Notation, um Datenstrukturen zu definieren. Wenn man es verstanden hat, ist es ganz einfach:

{
Feld1: 'Wert1',
Feld2: 'Wert2

:
:

}


Feldwerte sind Strings ('stringwert'), Booleans (true, false), Zahlen (120.78) und Arrays. Arrays sind einfach Listen von Werten in eckigen Klammern: [ 'Wert1', 'Wert2', .... ]. Allerdings können JSON-Datenstrukturen auch als Werte verwendet werden.

Damit wird es richtig schön, wenn man das ganze verschachtelt:


{
text: 'bx',
handler: function() {

var win = new Ext.Window({
width: 300,
height: 150,
minWidth: 200,
minHeight: 100,
minimizable: true,
title: '2.0 Simple Dialog',
html: '

This is a simple dialog.

',
buttons: [{
text: 'Close',
handler: function(){
win.hide();
}
}],
keys: [{
key: 27, // hide on Esc
fn: function(){
win.hide();
}
}]
});
win.on('minimize', function(){
win.toggleCollapse();
});
win.show();

}
}


Versteht kein Mensch! Oder? Inzwischen geht es immer besser.

Ciao, bis bald
larsfrommars!

Keine Kommentare: