Widgets mit Interaktion - wie etwa das Logdateien-Widget, mit dem man Logdateien ansehen, löschen oder herunterladen kann - können/müssen nun eine Methode handleCall() implementieren.

public static function handleCall($data) {}

Diese wird üblicherweise über AJAX aufgerufen. Beispiel:

	$.ajax(
	{
		type:	 'GET',
		url:	 '{$CAT_ADMIN_URL}/dashboard',
		data:	 {
                    widget: {$id},
                    remove: $(e.target).data("file")
                },
		cache: false,
                success: function(data,textStatus,jqXHR)
		{
                    BCGrowl(data.message,data.success);
                }
	});

Der Parameter "widget" ist Pflicht und muss die ID des Widgets beinhalten. Das Backend prüft, ob das Widget existiert und zum aktuellen Dashboard gehört. Alle anderen Parameter sind optional und werden an das Widget weitergegeben. In obigem Beispiel bekommt das Widget (nämlich das Logdateien-Widget) den Namen einer Logdatei, die gelöscht werden soll.

Übrigens: Der obige JavaScript-Code gehört in den Quelltext des Widgets! (In diesem Fall die logs.tpl im Modul "dashboard".)