dhtmlxScheduler ermöglicht es Ihnen, eine individuelle Sammlung von Buttons sowohl für die Edit- als auch die Select-Leiste zu konfigurieren.
Standardmäßig enthält die Select-Leiste 3 Buttons ('Details', 'Edit', 'Delete'), die über die Option icons_select definiert werden.
scheduler.config.icons_select = [
"icon_details",
"icon_edit",
"icon_delete"
];
Hier sehen Sie eine Beispiel-Select-Leiste wie im untenstehenden Bild dargestellt:
Ein neuer Button mit dem Namen Location wurde zu den bestehenden Buttons hinzugefügt.
Die Schritte hierfür sind:
scheduler.config.icons_select = [
"icon_location",
"icon_details",
"icon_edit",
"icon_delete"
];
Beachten Sie, jeder Button muss mit "icon_" beginnen
scheduler.locale.labels.icon_location = "Location";
.dhx_menu_icon.icon_location{
background-image: url('location_icon.png');
}
scheduler._click.buttons.location = function(id){
some_function(id);
};
Hier enthält scheduler._click.buttons die onClick-Handler für die Buttons der Leiste. Der Schlüssel 'location' entspricht dem Button-Namen aus icons_select, jedoch ohne das Präfix 'icon_'.
In der Regel verfügt die Edit-Leiste über 2 Buttons ('Save' und 'Cancel'), die über die Option icons_edit konfiguriert werden.
scheduler.config.icons_edit = [
"icon_save",
"icon_cancel"
];
Betrachten Sie die untenstehende Edit-Leiste:
Zusätzlich zu den Buttons Save und Cancel wurde ein neuer Info-Button hinzugefügt. Das Vorgehen ist:
scheduler.config.icons_edit = [
"icon_custom",
"icon_save",
"icon_cancel"
];
scheduler.locale.labels.icon_custom = "Info";
.dhx_menu_icon.icon_custom{
background-image: url('info_icon.png');
}
scheduler._click.buttons.custom = function(id){
some_function;
};
Auch hier enthält scheduler._click.buttons die Click-Handler für die Buttons, und 'custom' entspricht dem Button-Namen aus icons_edit nach Entfernen des Präfixes 'icon_'.
Es ist möglich, die Buttons der Edit- und Select-Leisten dynamisch anhand bestimmter Bedingungen zu ändern.
Wenn Ihre Events beispielsweise eine boolesche Eigenschaft important haben, die angibt, dass das Event kritisch ist und nicht gelöscht werden soll, können Sie den 'delete'-Button in der Select-Leiste entsprechend ein- oder ausblenden. So geht’s:
scheduler.attachEvent("onClick", function(id){
var event = scheduler.getEvent(id);
if (event.important)
scheduler.config.icons_select = ["icon_details"];
else
scheduler.config.icons_select = ["icon_details", "icon_delete"];
return true;
});
Nach oben