Dieses Steuerelement stellt ein Auswahlfeld zur Verfügung, mit dem das übergeordnete Element (Parent) einer Aufgabe geändert werden kann. Es lädt alle Aufgaben, die im Gantt-Diagramm angezeigt werden, mit der Möglichkeit, Filterregeln anzuwenden und die Anzeige der Werte zu individualisieren. Abgesehen von diesen Funktionen verhält es sich wie das Steuerelement Select Control.
gantt.config.lightbox.sections = [
{name:"description", height:38, map_to:"text", type:"textarea", focus:true},
{name:"parent", type:"parent", allow_root:"true", root_label:"No parent"}, {name:"time", height:72, type:"time", map_to:"auto"}
];
Related sample: Parent selector
Um das parent-Steuerelement im Lightbox-Dialog einzubinden, gehen Sie wie folgt vor:
1) Fügen Sie einen Abschnitt zur Lightbox-Konfiguration hinzu:
gantt.config.lightbox.sections = [
{name:"description", height:38, map_to:"text", type:"textarea",focus:true},
{name:"parent", type:"parent", allow_root:"true", root_label:"No parent"}, {name:"time", height:72, type:"duration", map_to:"auto"}
];
2) Definieren Sie ein Label für den Abschnitt:
gantt.locale.labels["section_parent"] = "Parent task";
Related sample: Parent selector
Hier sind einige wichtige Eigenschaften, die häufig mit dem parent-Steuerelement verwendet werden (die vollständige Liste finden Sie hier):
Um zu steuern, welche Optionen im parent-Steuerelement angezeigt werden, verwenden Sie die filter-Eigenschaft:
Filtern. Es werden nur Aufgaben der 1. Ebene angezeigt
gantt.config.lightbox.sections = [
{name:"description", height:38, map_to:"text", type:"textarea", focus:true},
{name:"parent", type:"parent", filter:function(id, task){ if(task.$level > 1){ return false; }else{ return true; } }},
{name:"time", height:72, type:"time", map_to:"auto"}
];
Related sample: Parent selector
Die filter-Funktion erhält zwei Parameter:
und gibt zurück:
Um die Reihenfolge der Optionen im parent-Steuerelement zu bestimmen, verwenden Sie die sort-Eigenschaft:
Sortieren der Aufgaben nach der Länge des Titels
function sortByLength(a,b){
a = a.text.length();
b = b.text.length();
return a>b?1:(a<b?-1:0);
};
gantt.config.lightbox.sections = [
{name:"description", height:38, map_to:"text", type:"textarea", focus:true},
{name:"parent", type:"parent", sort:sortByLength}, {name:"time", height:72, type:"time", map_to:"auto"}
];
Die sort-Funktion vergleicht jeweils zwei benachbarte Elemente und gibt zurück:
Um die Darstellung der Optionen im parent-Steuerelement zu individualisieren, verwenden Sie die template-Eigenschaft:
gantt.config.lightbox.sections = [
{name:"description", height:38, map_to:"text", type:"textarea", focus:true},
{name:"parent", type:"parent", template(start,end,ev){ var title = ev.id+"."+ev.text; return title; }}, {name:"time", height:72, type:"time", map_to:"auto"}
];
Die template-Funktion erhält drei Parameter:
und gibt das formatierte Element für das Steuerelement zurück.
Wenn die 'template'-Eigenschaft nicht gesetzt ist, werden die Optionen entsprechend dem task_text Template formatiert.