Available only in PRO Edition
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.
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:
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
Sie können auch ein benutzerdefiniertes Steuerungselement erstellen, um mehrere Ressourcen einer Aufgabe zuzuweisen.
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
Hier sind die primären Eigenschaften, die oft für die resources Steuerung konfiguriert werden (die vollständige Liste ist hier verfügbar):
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.
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:
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