addLinkLayer

zeigt eine zusätzliche Ebene mit benutzerdefinierten Elementen für einen Link im Zeitbereich an

string addLinkLayer(LinkLayerRender | LinkLayerConfig func);
funcLinkLayerRender | LinkLayerConfigeine Renderfunktion oder ein Konfigurationsobjekt
stringein DOM-Element, das in der Ebene angezeigt wird

Available only in PRO Edition

Example

gantt.attachEvent("onGanttReady", function () {
    const link_types = ["FS", "SS", "FF", "SF"]
    gantt.addLinkLayer(function (link) {
        const node = gantt.getLinkNode(link.id);
        if (node){
            const el = document.createElement('div');
            el.className = 'link_layer';
            el.style.left = (node.childNodes[2].offsetLeft + 20) + 'px'
            el.style.top = (node.childNodes[2].offsetTop - 6) + 'px'
            el.innerHTML = link_types[link.type];
            return el;
        }
        return false;
    });
});

Details

Diese Funktionalität ist nur in der PRO-Edition verfügbar.

Das Argument kann folgende Typen haben:

  • linkLayerRender (link, timeline, config, viewport): HTMLElement|boolean|void- eine Funktion, die ein Link-Objekt als Parameter nimmt und ein DOM-Element zurückgeben muss, das in der Ebene angezeigt wird.

    • link - (Link) - das Link-Objekt
    • timeline? - (any) - optional, die Zeitansicht
    • config? - (GanttConfigOptions) - optional, das Gantt-Konfigurationsobjekt
    • viewport? - (LayerViewport) - optional, das Viewport-Objekt
  • linkLayerConfig - (object) - das Konfigurationsobjekt für die zusätzliche Link-Ebene. Hat folgende Eigenschaften:

    • id? - (string | number) - optional, die Ebenen-ID
    • renderer - (object) - zwingend erforderlich, eine Funktion, die für das Rendern der Elemente der Ebene verantwortlich ist
      • render - (LinkLayerRender) - die Funktion, die das HTML-Element zurückgibt, das gerendert werden soll
      • update? - (Function): void - optional, eine Funktion, in der die gerenderten HTML-Elemente aktualisiert werden können
        • link - (Link) - das Link-Objekt
        • node - (HTMLElement) - der Container des gerenderten Knotens
        • timeline? - (any) - optional, die Zeitansicht
        • config? - (GanttConfigOptions) - optional, das Gantt-Konfigurationsobjekt
        • viewport? - (LayerViewport) - optional, das Viewport-Objekt
      • onrender? - (Function): void - optional, diese Funktion wird nach Abschluss des Renderns aufgerufen. Sie können sie verwenden, um native Komponenten zu rendern (zum Beispiel mithilfe der Methode ReactDOM.render)
        • link - (Link) - das Link-Objekt
        • node - (HTMLElement) - der Container des gerenderten Knotens
        • view? - (any) - optional, die Layout-Zelle, in der die Ebene hinzugefügt wird (Zeitachse, standardmäßig)
      • getRectangle? - (Function): { left: number, top: number, height: number, width: number } | void - optional, eine Funktion, die die Koordinaten des Viewport-Rechtecks zurückgibt
        • link - (Link) - das Link-Objekt
        • view? - (any) - optional, die Layout-Zelle, in der die Ebene hinzugefügt wird (Zeitachse, standardmäßig)
        • config? - (GanttConfigOptions) - optional, das Gantt-Konfigurationsobjekt
        • gantt? - (GanttStatic) - optional, das Gantt-Objekt
      • getVisibleRange - (Function): {start: number, end: number} | undefined | void - eine Funktion, die das Objekt mit dem sichtbaren Bereich zurückgibt
        • gantt? - (GanttStatic) - optional, das Gantt-Objekt
        • view? - (any) - optional, die Layout-Zelle, in der die Ebene hinzugefügt wird (Zeitachse, standardmäßig)
        • config? - (GanttConfigOptions) - optional, das Gantt-Konfigurationsobjekt
        • datastore? - (any) - optional, das Link-Datenbankobjekt
        • viewport? - (LayerViewport) - optional, das Viewport-Objekt
    • container? - (HTMLElement) - optional, der Container der Ebene
    • topmost? - (boolean) - optional, wenn wahr, wird das Element über dem Link angezeigt
    • filter? - (Function): boolean - optional, eine Funktion, die ein Link-Objekt als Parameter nimmt. Wenn sie 'false' zurückgibt, wird die 'renderer'-Funktion für einen Link nicht aufgerufen
      • link - (Link) - das Link-Objekt
  • Vorsicht, benutzerdefinierte Ebenen werden nach dem nächsten Aufruf von gantt.init zurückgesetzt

  • Der Aufruf der gantt.resetLayout()-Methode setzt ebenfalls benutzerdefinierte Ebenen zurück. Damit benutzerdefinierte Ebenen auf einer Seite angezeigt werden, müssen Sie die gantt.addLinkLayer-Methode nach dem Aufruf von resetLayout erneut definieren.

Related sample:  Gantt. Zusätzliche Ebene mit Linktypen

See also
Zurück nach oben