perfect progress in ignore

This commit is contained in:
safwansamsudeen 2024-12-05 13:16:50 +05:30
parent 0c9e4aeb3e
commit af1c94b56a
3 changed files with 22 additions and 21 deletions

View File

@ -402,6 +402,7 @@ export default class Bar {
if (this.gantt.options.show_expected_progress) {
this.update_expected_progressbar_position();
}
this.update_progressbar_position();
this.update_arrow_position();
}
@ -587,13 +588,14 @@ export default class Bar {
if (
!this.gantt.config.ignored_dates.find(
(k) => k.getTime() === d.getTime(),
) ||
(this.gantt.config.ignored_function &&
!this.gantt.config.ignored_function(d))
) &&
this.gantt.config.ignored_function &&
!this.gantt.config.ignored_function(d)
) {
actual_duration_in_days++;
}
}
console.log(this.actual_duration_in_days);
this.actual_duration_in_days = actual_duration_in_days;
this.duration =
@ -644,18 +646,24 @@ export default class Bar {
update_progressbar_position() {
if (this.invalid || this.gantt.options.readonly) return;
this.$bar_progress.setAttribute('x', this.$bar.getX());
let new_width =
this.actual_duration *
this.gantt.config.column_width *
(this.task.progress / 100);
const progress_area = this.x + this.progress_width;
new_width +=
const ignored_end = this.x + this.$bar.getWidth();
const progress_end = this.x + this.progress_width;
const total_ignored_area =
this.gantt.config.ignored_positions.reduce((acc, val) => {
return acc + (val >= this.x && val <= progress_area);
return acc + (val >= this.x && val < ignored_end);
}, 0) * this.gantt.config.column_width;
const progress_ignored_area =
this.gantt.config.ignored_positions.reduce((acc, val) => {
return acc + (val >= this.x && val < progress_end);
}, 0) * this.gantt.config.column_width;
this.progress_width = new_width;
this.$bar_progress.setAttribute('width', new_width);
let new_width =
(this.duration * this.gantt.config.column_width -
total_ignored_area) *
(this.task.progress / 100);
this.progress_width = progress_ignored_area + new_width;
this.$bar_progress.setAttribute('width', this.progress_width);
}
update_label_position() {

View File

@ -119,14 +119,7 @@ const DEFAULT_OPTIONS = {
view_mode_select: false,
default_snap: '1d',
holiday_highlight: {
green: [
'2024-03-01',
'2024-03-02',
'2024-03-03',
'2024-03-04',
'2024-03-05',
'2024-03-06',
],
green: 'weekend',
},
ignore: [],
};

View File

@ -683,7 +683,7 @@ export default class Gantt {
!this.config.ignored_function(d))
)
continue;
console.log(this.config.ignored_function);
let diff =
date_utils.convert_scales(
date_utils.diff(d, this.gantt_start) + 'd',