Details zur Zoom-Erweiterung finden Sie im Artikel Zoomfunktion
. Dieses Dokument konzentriert sich auf die API-Referenz für das zoom-Objekt.
Die Zoom-Erweiterung enthält vordefinierte Skaleneinstellungen, die das Wechseln zwischen ihnen erleichtern.
Ein ZoomLevel ist ein Objekt, das die Skaleneinstellungen enthält. Es umfasst:
minColumnWidth
und maxColumnWidth
.Diese Methode initialisiert die Erweiterung mit der bereitgestellten Konfiguration.
"ctrlKey"
, "altKey"
oder "shiftKey"
."wheel"
, null
oder undefined
.Hier sind zwei Beispiele zur Konfiguration der zoom-Erweiterung:
var zoomConfig = {
levels: [
{
name: "day",
scale_height: 27,
min_column_width: 80,
scales: [
{ unit: "day", step: 1, format: "%d %M" }
]
},
{
name: "week",
scale_height: 50,
min_column_width: 50,
scales: [
{ unit: "week", step: 1, format: function (date) {
var dateToStr = gantt.date.date_to_str("%d %M");
var endDate = gantt.date.add(date, 6, "day");
var weekNum = gantt.date.date_to_str("%W")(date);
return "#" + weekNum + ", " + dateToStr(date) + " - " + dateToStr(endDate);
}},
{ unit: "day", step: 1, format: "%j %D" }
]
},
{
name: "month",
scale_height: 50,
min_column_width: 120,
scales: [
{ unit: "month", format: "%F, %Y" },
{ unit: "week", format: "Week #%W" }
]
},
{
name: "quarter",
height: 50,
min_column_width: 90,
scales: [
{ unit: "month", step: 1, format: "%M" },
{
unit: "quarter", step: 1, format: function (date) {
var dateToStr = gantt.date.date_to_str("%M");
var endDate = gantt.date.add(gantt.date.add(date, 3, "month"), -1, "day");
return dateToStr(date) + " - " + dateToStr(endDate);
}
}
]
},
{
name: "year",
scale_height: 50,
min_column_width: 30,
scales: [
{ unit: "year", step: 1, format: "%Y" }
]
}
]
};
gantt.ext.zoom.init(zoomConfig);
// Alternativ können die Stufen als Skalen-Arrays definiert werden
var hourToStr = gantt.date.date_to_str("%H:%i");
var hourRangeFormat = function(step) {
return function(date) {
var intervalEnd = new Date(gantt.date.add(date, step, "hour") - 1);
return hourToStr(date) + " - " + hourToStr(intervalEnd);
};
};
var zoomConfig = {
levels: [
[
{ unit: "month", format: "%M %Y", step: 1 }
],
[
{ unit: "month", format: "%M %Y", step: 1 },
{ unit: "day", format: "%d %M", step: 1 }
],
[
{ unit: "day", format: "%d %M", step: 1 },
{ unit: "hour", format: hourRangeFormat(12), step: 12 }
],
[
{ unit: "day", format: "%d %M", step: 1 },
{ unit: "hour", format: hourRangeFormat(6), step: 6 }
],
[
{ unit: "day", format: "%d %M", step: 1 },
{ unit: "hour", format: "%H:%i", step: 1 }
]
]
};
gantt.ext.zoom.init(zoomConfig);
Diese Methode ruft den Index der derzeit aktiven Zoomstufe ab.
gantt.ext.zoom.getCurrentLevel();
Wechselt zu einer bestimmten Zoomstufe.
"year"
) oder eine Zahl (ihre Position im Stufenarray) sein.gantt.ext.zoom.setLevel("year");
// oder
gantt.ext.zoom.setLevel(5);
Gibt alle konfigurierten Zoomstufen zurück.
gantt.ext.zoom.getLevels();
Das Ergebnis ist ein Array von Zoomstufen (ZoomLevels[]), wie in der init()
-Methode definiert.
Erhöht die Zoomstufe.
gantt.ext.zoom.zoomIn();
Alternativ können Sie verwenden:
gantt.ext.zoom.setLevel(zoom.getCurrentLevel() - 1);
Verringert die Zoomstufe.
gantt.ext.zoom.zoomOut();
Alternativ können Sie verwenden:
gantt.ext.zoom.setLevel(zoom.getCurrentLevel() + 1);
Fügt einen Ereignishandler hinzu.
Entfernt einen Ereignishandler.
Löst ein internes Ereignis aus.
Prüft, ob ein Ereignis Handler angehängt hat.
Gibt true
zurück, wenn es Handler für das Ereignis gibt.
Dieses Ereignis wird ausgelöst, wenn sich die Zoomstufe ändert.
Argumente: - level - (number | string) - der Index oder Name der Stufe. - config - (ZoomLevel) - die Konfiguration der Stufe.
gantt.ext.zoom.attachEvent("onAfterZoom", function(level, config){
document.querySelector(".gantt_radio[value='" + config.name + "']").checked = true;
});
Zurück nach oben