jQuery EasyUI Layout-Plugin -Panel
jQuery EasyUI Plugins
Überschreiben Sie die Standardwerte über $.fn.panel.defaults.
Das Panel wird als Container für andere Inhalte verwendet. Es ist die grundlegende Komponente zum Aufbau anderer Komponenten (wie Layout, Tabs, Accordion und so weiter). Es bietet außerdem integrierte Funktionen zum Einklappen, Schließen, Maximieren und Minimieren sowie andere benutzerdefinierte Verhaltensweisen. Ein Panel kann problemlos an beliebiger Stelle auf einer Webseite eingebettet werden.
Nutzung
Erstellen Sie ein Panel
1. Ein Panel über Markup erstellen
Es ist einfacher, ein Panel aus Markup zu erstellen. Fügen Sie dem <div>-Tag die Klasse 'easyui-panel' hinzu.
<div id="p" class="easyui-panel" title="My Panel"
style="width:500px;height:150px;padding:10px;background:#FAFAFA;"
data-options="iconCls:'icon-save',closable:true,
collapsible:true,minimizable:true,maximizable:true">
<p>panel content.</p>
<p>panel content.</p>
</div>
2. Ein Panel programmgesteuert erstellen
Erstellen wir ein Panel mit einer Symbolleiste oben rechts.
<div id="p" style="padding:10px;">
<p>panel content.</p>
<p>panel content.</p>
</div>
$('#p').panel({
width:500,
height:150,
title:'My Panel',
tools:[{
iconCls:'icon-add',
handler:function(){alert('new')}
},{
iconCls:'icon-save',
handler:function(){alert('save')}
}]
});
Das Panel verschieben
Rufen Sie die Methode 'move' auf, um das Panel an eine neue Position zu verschieben.
$('#p').panel('move',{
left:100,
top:100
});
Inhalt laden
Laden wir den Panel-Inhalt per ajax und zeigen einige Informationen an, wenn das Laden erfolgreich ist.
$('#p').panel({
href:'content_url.php',
onLoad:function(){
alert('loaded successfully');
}
});
Eigenschaften
| Name | Type | Beschreibung | Standardwert |
|---|---|---|---|
| id | string | Das id-Attribut des Panels. | null |
| title | string | Der im Panel-Header angezeigte Titeltext. | null |
| iconCls | string | Eine CSS-Klasse, die ein 16x16-Symbol im Panel anzeigt. | null |
| width | number | Legen Sie die Breite des Panels fest. | auto |
| height | number | Legt die Höhe des Panels fest. | auto |
| left | number | Legt die linke Position des Panels fest. | null |
| top | number | Legt die obere Position des Panels fest. | null |
| cls | string | Fügt dem Panel eine CSS-Klasse hinzu. | null |
| headerCls | string | Fügt dem Panel-Header eine CSS-Klasse hinzu. | null |
| bodyCls | string | Fügt dem Panel-Body eine CSS-Klasse hinzu. | null |
| style | Objekt | Fügt dem Panel Stile mit benutzerdefinierter Formatierung hinzu. Codebeispiel zum Ändern der Panel-Rahmenbreite:
<div class="easyui-panel" style="width:200px;height:100px"
data-options="style:{borderWidth:2}">
</div>
|
{} |
| fit | boolesch | Wenn auf true gesetzt, passt sich die Größe des Panels an den übergeordneten Container an. Das folgende Beispiel zeigt ein Panel, das automatisch auf die maximale Innengröße seines übergeordneten Containers angepasst wird.<div style="width:200px;height:100px;padding:5px"> <div class="easyui-panel" style="width:200px;height:100px" data-options="fit:true,border:false"> Embedded Panel </div> </div> |
false |
| border | boolesch | Legt fest, ob der Rahmen des Panels angezeigt werden soll. | wahr |
| doSize | boolesch | Wenn auf true gesetzt, wird die Größe des Panels angepasst und es wird beim Erstellen angeordnet. | wahr |
| noheader | boolesch | Wenn auf true gesetzt, wird die Kopfzeile des Panels nicht erstellt. | false |
| content | string | Der Inhaltsbereich des Panels. | null |
| collapsible | boolesch | Legt fest, ob die Schaltfläche zum Einklappen angezeigt wird. | false |
| minimizable | boolesch | Legt fest, ob die Schaltfläche zum Minimieren angezeigt wird. | false |
| maximizable | boolesch | Legt fest, ob die Schaltfläche zum Maximieren angezeigt wird. | false |
| closable | boolesch | Legt fest, ob die Schließen-Schaltfläche angezeigt wird. | false |
| tools | array,selector | Benutzerdefinierte Tools, mögliche Werte: 1. Array, jedes Element enthält zwei Eigenschaften: iconCls und handler. 2. Selektor, der die Tools angibt. Die Panel-Tools können über ein vorhandenes <div>-Tag deklariert werden:
<div class="easyui-panel" style="width:300px;height:200px"
title="My Panel" data-options="iconCls:'icon-ok',tools:'#tt'">
</div>
<div id="tt">
<a href="../index.html" class="icon-add" onclick="javascript:alert('add')"></a>
<a href="../index.html" class="icon-edit" onclick="javascript:alert('edit')"></a>
</div>
Die Panel-Tools können über ein Array definiert werden:
<div class="easyui-panel" style="width:300px;height:200px"
title="My Panel" data-options="iconCls:'icon-ok',tools:[
{
iconCls:'icon-add',
handler:function(){alert('add')}
},{
iconCls:'icon-edit',
handler:function(){alert('edit')}
}]">
</div>
|
[] |
| collapsed | boolesch | Legt fest, ob das Panel anfänglich eingeklappt ist. | false |
| minimized | boolesch | Legt fest, ob das Panel anfänglich minimiert ist. | false |
| maximized | boolesch | Legt fest, ob das Panel anfänglich maximiert ist. | false |
| geschlossen | boolesch | Legt fest, ob das Panel anfänglich geschlossen ist. | false |
| href | string | Eine URL, die zum Laden von Remote-Daten und zu deren Anzeige im Panel verwendet wird. Beachten Sie, dass der Inhalt erst geladen wird, wenn das Panel geöffnet wird. Dies ist nützlich, um ein verzögert geladenes Panel zu erstellen:
<div id="pp" class="easyui-panel" style="width:300px;height:200px"
data-options="href='get_content.php.html',closed:true">
</div>
<a href="../index.html" onclick="javascript:$('#pp').panel('open')">Open</a>
|
null |
| cache | boolesch | Auf true setzen, um den von href geladenen Panel-Inhalt zwischenzuspeichern. | wahr |
| loadingMessage | string | Zeigt eine Nachricht im Panel an, während Remote-Daten geladen werden. | Wird geladen… |
| extractor | Funktion | Legt fest, wie Inhalt aus der Ajax-Antwort extrahiert wird, und gibt die extrahierten Daten zurück.
extractor: function(data){
var pattern = /<body[^>]*>((.|[\n\r])*)<\/body>/im;
var matches = pattern.exec(data);
if (matches){
return matches[1]; // only extract body content
} else {
return data;
}
}
|
Ereignisse
| Name | Parameters | Beschreibung |
|---|---|---|
| onLoad | none | Wird ausgelöst, wenn Remote-Daten geladen werden. |
| onBeforeOpen | none | Wird ausgelöst, bevor das Panel geöffnet wird; geben Sie false zurück, um das Öffnen zu verhindern. |
| onOpen | none | Wird ausgelöst, nachdem das Panel geöffnet wurde. |
| onBeforeClose | none | Wird ausgelöst, bevor das Panel geschlossen wird; geben Sie false zurück, um das Schließen abzubrechen. Das unten deklarierte Panel wird nicht geschlossen.
<div class="easyui-panel" style="width:300px;height:200px;"
title="My Panel" data-options="onBeforeClose:function(){return false}">
The panel cannot be closed.
</div>
|
| onClose | none | Wird ausgelöst, nachdem das Panel geschlossen wurde. |
| onBeforeDestroy | none | Wird ausgelöst, bevor das Panel zerstört wird; geben Sie false zurück, um die Zerstörung abzubrechen. |
| onDestroy | none | Wird ausgelöst, nachdem das Panel zerstört wurde. |
| onBeforeCollapse | none | Wird ausgelöst, bevor das Panel eingeklappt wird; geben Sie false zurück, um das Einklappen zu stoppen. |
| onCollapse | none | Wird ausgelöst, nachdem das Panel eingeklappt wurde. |
| onBeforeExpand | none | Wird ausgelöst, bevor das Panel ausgeklappt wird; geben Sie false zurück, um das Ausklappen zu stoppen. |
| onExpand | none | Wird ausgelöst, nachdem das Panel erweitert wurde. |
| onResize | width, height | Wird ausgelöst, nachdem die Größe des Panels geändert wurde. width: die neue äußere Breite height: die neue äußere Höhe |
| onMove | left,top | Wird ausgelöst, nachdem das Panel verschoben wurde. left: die neue linke Position top: die neue obere Position |
| onMaximize | none | Wird ausgelöst, nachdem das Fenster maximiert wurde. |
| onRestore | none | Wird ausgelöst, nachdem das Fenster auf seine ursprüngliche Größe wiederhergestellt wurde. |
| onMinimize | none | Wird ausgelöst, nachdem das Fenster minimiert wurde. |
Methoden
| Name | Parameters | Beschreibung |
|---|---|---|
| options | none | Gibt die Eigenschaft options zurück. |
| panel | none | Gibt das äußere Panel-Objekt zurück. |
| header | none | Gibt das Header-Objekt des Panels zurück. |
| body | none | Gibt das Body-Objekt des Panels zurück. |
| setTitle | title | Legt den Titeltext des Headers fest. |
| open | forceOpen | Wenn der Parameter forceOpen auf true gesetzt ist, öffnen Sie das Panel unter Umgehung der onBeforeOpen-Callback-Funktion. |
| close | forceClose | Wenn der Parameter forceClose auf true gesetzt ist, schließen Sie das Panel unter Umgehung der onBeforeClose-Callback-Funktion. |
| destroy | forceDestroy | Wenn der Parameter forceDestroy auf true gesetzt ist, wird das Panel zerstört, wobei die Callback-Funktion onBeforeDestroy umgangen wird. |
| refresh | href | Aktualisiere das Panel, um Remote-Daten zu laden. Wenn ein Parameter 'href' zugewiesen wird, überschreibt er die alte Eigenschaft 'href'. Codebeispiel:
// open a panel and then refresh its contents.
$('#pp').panel('open').panel('refresh');
// refresh contents with a new URL.
$('#pp').panel('open').panel('refresh','new_content.php');
|
| resize | options | Legt die Panelgröße fest und führt das Layout aus. Das Objekt Options enthält die folgenden Eigenschaften: width: die neue Panelbreite height: die neue Panelhöhe left: die neue linke Position des Panels top: die neue obere Position des Panels Codebeispiel:
$('#pp').panel('resize',{
width: 600,
height: 400
});
|
| move | options | Verschiebt das Panel an eine neue Position. Das Objekt Options enthält die folgenden Eigenschaften: left: die neue linke Position des Panels top: die neue obere Position des Panels |
| maximize | none | Das Panel passt sich an die Größe seines Containers an. |
| minimize | none | Das Panel minimieren. |
| wiederherstellen | none | Das maximierte Panel auf seine ursprüngliche Größe und Position wiederherstellen. |
| collapse | animate | Den Panel-Inhalt einklappen. |
| expand | animate | Den Panel-Inhalt ausklappen. |
jQuery EasyUI Plugins Weitere Erweiterungen