Available only in PRO Edition

Ressourcensteuerung

Diese Funktionalität ist exklusiv für die PRO Edition.

Diese Steuerung ermöglicht es, mehreren Ressourcen und deren Mengen einer Aufgabe zuzuweisen. Weitere Details zu diesem Prozess finden Sie hier.

Ressourcensteuerung Serveroptionen

gantt.config.lightbox.sections = [
 {name: "description", height: 38, map_to: "text", type: "textarea", focus: true},
 {name:"owner",height:60, type:"resources", default_value:8},    {name: "time", type: "duration", map_to: "auto"}
];

Related sample:  Assign multiple resources

Alternativ können Sie eine andere Konfiguration verwenden:

Ressourcensteuerungsoptionen

gantt.config.lightbox.sections = [
  { name:"description",height:38,map_to:"text",type:"textarea",focus:true },
  { name:"time",type:"duration",map_to:"auto" },
  { name:"rooms",type:"resources",map_to:"rooms", options:[        { key: 1, label: "room 1", unit: "hours" },          { key: 2, label: "room 2", unit: "hours" },         { key: 3, label: "room 3", unit: "hours" }       ]    }    ];
 
gantt.locale.labels.section_rooms = "Rooms";

Related sample:  Resources control

Initialisierung

Um die resources Steuerung in das Lightbox aufzunehmen, folgen Sie diesen Schritten:

1. Fügen Sie eine Sektion zur Lightbox-Konfiguration hinzu:

gantt.config.lightbox.sections = [
  { name:"description",height:38,map_to:"text",type:"textarea",focus:true },
  { name:"time",type:"duration",map_to:"auto" },
  { name:"rooms",type:"resources" }    ];

2. Setzen Sie ein Label für die Sektion:

gantt.locale.labels.section_resources = "Rooms";

Related sample:  Resources control

Eigenschaften

Hier sind die primären Eigenschaften, die oft für die resources Steuerung konfiguriert werden (die vollständige Liste ist hier verfügbar):

  • name - (string) der Name der Sektion
  • map_to - (string) die Daten-Eigenschaft, der die Sektion zugeordnet wird
  • type - (string) der Typ des Sektionssteuerungselements
  • options - (array) eine Liste von Objekten, die die Auswahlmöglichkeiten des Steuerungselements definieren (wird für select, checkbox, radio, und resources Steuerungselemente verwendet). Jedes Objekt umfasst:
    • key - (string) die ID der Option, die mit der Aufgabendaten-Eigenschaft abgeglichen wird
    • label - (string) der Anzeigename der Option
    • unit - (number) die Maßeinheit für die Ressource
  • focus - (boolean) wenn true, wird die Sektion fokussiert, wenn das Lightbox geöffnet wird
  • default_value - (any) der Standardwert des Steuerungselements, der angewendet wird, wenn der Ressourcenwert undefiniert ist. Jede Option in der options-Liste kann ihren eigenen Standardwert haben.

Standardmäßig wird die Ressourcensteuerung der in der resource_property Konfiguration angegebenen Eigenschaft zugeordnet, sodass Sie die map_to Option überspringen können.

Die Ressourcensteuerung wird automatisch aus dem Resourcendatenspeicher mit der gantt.serverList("resourceOptions") Sammlung gefüllt. Sie müssen die Optionsliste nur manuell angeben, wenn Sie dieses Verhalten überschreiben möchten.

Steuerung mit Daten füllen

Seit Version 8.0 holt die Ressourcensteuerung standardmäßig Optionen aus dem Resourcendatenspeicher.

Wenn Sie den von Gantt bereitgestellten Standard-Resourcendatenspeicher verwenden, initialisiert sich die Ressourcensteuerung ohne den options Parameter und verbindet sich mit der gantt.serverList("resourceOptions") Sammlung. Diese Sammlung erhält ihre Daten aus dem Resourcendatenspeicher. Um diese Optionen programmatisch zuzugreifen:

const options = gantt.serverList("resourceOptions");

Beachten Sie, dass das Options-Array leer bleibt, bis die Ressourcen in den Datenspeicher geladen werden.

Sie können diese Sammlung auch mit einer benutzerdefinierten Liste von Optionen aktualisieren:

gantt.updateCollection("resourceOptions", [...]);

Wenn Sie jedoch später Ressourcen in Gantt laden, wird diese Sammlung aktualisiert und Ihre Änderungen können überschrieben werden.

Um zu steuern, welche Ressourcen im Lightbox erscheinen, können Sie die gantt.config.resources.lightbox_resources Konfiguration neu definieren:

gantt.config.resources = {
    lightbox_resources: function selectResourceControlOptions(resources){
        const lightboxOptions = [];
        resources.forEach(function(res) {
            if (!gantt.$resourcesStore.hasChild(res.id)) {
                const copy = gantt.copy(res);
                copy.key = res.id;
                copy.label = res.text;
                lightboxOptions.push(copy);
            }
        });
        return lightboxOptions;
    }
};

Wenn Sie den Resourcendatenspeicher manuell erstellen, müssen Sie die Ressourcensteuerungsoptionen selbst bereitstellen.

Um Werte der resources Steuerung zuzuweisen, verwenden Sie den options Parameter:

gantt.config.lightbox.sections = [
    { name:"rooms",type:"resources",map_to:"rooms",
        options:[
            { key: 1, label: "room 1", unit: "hours" },
            { key: 2, label: "room 2", unit: "hours" },
            { key: 3, label: "room 3", unit: "hours" }
        ]
    }
];

Jedes Element im options Parameter erfordert diese Eigenschaften:

  • key - die ID der Option
  • label - der Anzeigename der Option
  • unit - die Maßeinheit für die Ressource

Steuerung mit Daten vom Server füllen

Um Optionen vom Server zu laden, setzen Sie den options Parameter auf den Wert, der von der gantt.serverList("resourceOptions") Methode zurückgegeben wird:

gantt.config.lightbox.sections = [
 {name: "description", height: 38, map_to: "text", type: "textarea", focus: true},
 {name: "resources", type: "resources", map_to: "owner_id", default_value:8,
    options: gantt.serverList("resourceOptions")},
 {name: "time", type: "duration", map_to: "auto"}
];
 
gantt.init("gantt_here");
gantt.load("/data");

Die gantt.serverList("resourceOptions") Sammlung kann aktualisiert werden, wenn Optionen verfügbar werden, indem die gantt.updateCollection Methode verwendet wird:

gantt.updateCollection("resourceOptions", [
    { key: 1, label: "room 1", unit: "hours" },
    { key: 2, label: "room 2", unit: "hours" },
    { key: 3, label: "room 3", unit: "hours" }
])

Related sample:  Assign multiple resources

Zurück nach oben