Unable to open file: /var/www/limespacede/httpdocs/wp-content/plugins/tp_this_path Dojo » Tag » LimeSpace - IT
Mrz
12.

Dojo – Security updates

Ich glaube das gab es noch nie, Sicherheitsupdates für das JavaScript Framework Dojo.

Die Macher haben sich wohl die Zeit genommen, sich ihren Sourcecode mal genauer zu betrachten, und dabei zum Beispiel festgestellt, das man über bestimmte Einstiegspunkte Fremdcode auf dem Webserver einschleusen beziehungsweise ausführen kann.

Updates gibt es für folgende Releases:

  • 1.4.2
  • 1.3.3
  • 1.2.4
  • 1.1.2
  • 1.0.3
  • 0.4.4

Es besteht entweder die Möglichkeit einzelne Files zu tauschen, was beispielsweise notwendig ist wenn man viele Änderungen an den Dojo Sourcen vorgenommen hat, oder halt entsprechend einfach alles überschreiben.

Nutzer des Google und AOL Cdn’s können sich den Aufwand ersparen, hier sind die fixes bereits eingespielt.

Weitere Informationen und die Downloads findet ihr auf der Homepage des DojoToolkit’s : http://dojotoolkit.org/blog/post/dylan/2010/03/dojo-security-advisory/

Dez
8.

Dojo 1.4.0 wurde released..

Hallo LimeSpace(r),

Heute wurde die Version 1.4.0 des Dojo Toolkits released.

Es hat eine gewaltige Menge an Bugfixes gegeben, so wie einen Batzen neuer Features. Meine Highlights in dem Release :

  • Dialoge können nun übereinander liegen, sprich ein Dialog kann aus einem anderen geöffnet werden.
  • Shuffle – Automatisch unterschiedliche DIV’s einblenden.
  • Die Tab-Container können nun wie zum Beispiel im FireFox üblich dargestellt werden (Pfeile werden eingeblendet, wenn die Zeile voll ist)
  • Umsetzung der JQuery “API” mit Dojo , noch experimentell :-)

Wer sich mit allen Neuerungen befassen möchte wird auf dem DojoCampus und den Releasenotes fündig.

Dez
1.

Dojox Grid Zeilen anhand von Werten einfärben

Howdy Limespacer,

auch wenn sich das Jahr nun langsam dem Ende nährt haben wir doch noch den ein oder anderen schnellen Tipp für euch.

Heute standen wir vor der “Herausforderung” in einem Dojox Grid Zeilen zu färben wenn der angezeigte Datensatz einen bestimmten Status hat.

Nach ein paar Minuten (oder besser einer halben Stunde) googlen, hatten wir dann doch tatsächlich das gewünschte Resultat erzielt.

Das Geheimnis ist der onRowStyle event eines Grids.

Dieser wird beim rendern für jede Zeile aufgerufen, so ist es wirklich sehr einfach die Farben zu ändern. Das Stück Beispiel Sourecode möchten wir euch nicht vorenthalten:

dojo.connect(dijit.byId('gridTaskCurrent'), 'onStyleRow' , this, function(row) {

 // aktueller Datensatz
 var item = grid.getItem(row.index);

 // Daten vorhanden
 if (item) {
 Wert aus dem Store des Grids auslesen
 var type = grid.store.getValue(item, "LOCKED", null);

 // wenn 1 dann grün färben
	if (type == 1) {
 row.customStyles += "background-color:limegreen;";
 }
 }

 grid.focus.styleRow(row);
 grid.edit.styleRow(row);

});

Viel Spaß beim selber probieren ;-)

Aug
17.

DojoX – Grid akualisieren beziehungsweise refreshen

Dojo

Da ich nun fast jede Woche wieder vor dem Problem stehe : Wie Aktualisiert man ein Dojox Grid wenn sich im Store etwas ändert, bringe ich dieses nun zu Papier beziehungsweise zu Blog. Der einfachste Weg ist, falls dass Grid von einem Store befüllt wird den Store zu schließen, und anschließend ein “sort” auf das Grid zu machen. Dieses bewegt Dojo dazu die Daten neu in den Store+Grid einzulesen.

grid.store.close();
grid.sort();

Im Anschluss sind die Daten im Grid refresht ! voila !

Jul
6.

Dojo Quicki : Events in einem Dijit.Dialog connecten

Guten Abend,

heute hatten wir mal wieder ein “kleines” Dojo Problem. Wie legt man Events auf Elemente in einem dijit.Dialog.

Die Schwierigkeit ist , dass ein Dialog ein dijit.Contentpane ist und in diesem kein Javascript ausgeführt wird. Sprich ein

dojo.addOnLoad klappt nicht.. Die Lösung , man connected sich erst auf den onLoad Event des Dialogs und dort kann man dann sein “addOnLoad” nachbasteln :-)

dojo.connect(dijit.byId('addCommentDialog'), 'onLoad' ,function() {
 dojo.connect(dojo.byId('submitCommentForm'), 'onclick', function() {
 submitCommentForm();
 });

 dojo.connect(dojo.byId('hideCommentDlg'), 'onclick', function() {
 hideCommentDlg();
 });
});