feat: scroll to today
This commit is contained in:
parent
94d2cf5772
commit
0ebea3d1b8
16
src/index.js
16
src/index.js
@ -100,6 +100,7 @@ export default class Gantt {
|
|||||||
language: "en",
|
language: "en",
|
||||||
readonly: false,
|
readonly: false,
|
||||||
highlight_weekend: true,
|
highlight_weekend: true,
|
||||||
|
scroll_today: true
|
||||||
};
|
};
|
||||||
this.options = Object.assign({}, default_options, options);
|
this.options = Object.assign({}, default_options, options);
|
||||||
if (!options.view_mode_padding) options.view_mode_padding = {}
|
if (!options.view_mode_padding) options.view_mode_padding = {}
|
||||||
@ -337,6 +338,7 @@ export default class Gantt {
|
|||||||
this.map_arrows_on_bars();
|
this.map_arrows_on_bars();
|
||||||
this.set_width();
|
this.set_width();
|
||||||
this.set_scroll_position();
|
this.set_scroll_position();
|
||||||
|
if (this.options.scroll_today) this.scroll_today()
|
||||||
}
|
}
|
||||||
|
|
||||||
setup_layers() {
|
setup_layers() {
|
||||||
@ -742,13 +744,17 @@ export default class Gantt {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
set_scroll_position() {
|
set_scroll_position(date) {
|
||||||
|
if (!date) {
|
||||||
|
date = this.gantt_start
|
||||||
|
}
|
||||||
|
|
||||||
const parent_element = this.$svg.parentElement;
|
const parent_element = this.$svg.parentElement;
|
||||||
if (!parent_element) return;
|
if (!parent_element) return;
|
||||||
|
|
||||||
const hours_before_first_task = date_utils.diff(
|
const hours_before_first_task = date_utils.diff(
|
||||||
this.get_oldest_starting_date(),
|
this.get_oldest_starting_date(),
|
||||||
this.gantt_start,
|
date,
|
||||||
"hour",
|
"hour",
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -760,6 +766,12 @@ export default class Gantt {
|
|||||||
parent_element.scrollLeft = scroll_pos;
|
parent_element.scrollLeft = scroll_pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
scroll_today() {
|
||||||
|
const oldest = this.get_oldest_starting_date().getTime()
|
||||||
|
const t = new Date() - oldest
|
||||||
|
this.set_scroll_position(new Date(this.gantt_start.getTime() - t))
|
||||||
|
}
|
||||||
|
|
||||||
bind_grid_click() {
|
bind_grid_click() {
|
||||||
$.on(
|
$.on(
|
||||||
this.$svg,
|
this.$svg,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user