Skip to content

Commit

Permalink
Merge pull request #44 from 90TechSAS/fix/absences-display
Browse files Browse the repository at this point in the history
Fix/absences display
  • Loading branch information
johan90tech committed Dec 10, 2021
2 parents 541b8ea + 72a6e7b commit e998ce0
Show file tree
Hide file tree
Showing 9 changed files with 42 additions and 14 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
Version numbers correspond to `bower.json` version
# 1.10.6

## Fixes

- Fix absences display

# 1.10.5

## Fixes
Expand Down
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "zl-planning",
"version": "1.10.5",
"version": "1.10.6",
"authors": [
"Florent Gouget <[email protected]>"
],
Expand Down
4 changes: 2 additions & 2 deletions dist/planning.js
100755 → 100644

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/planning.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"author": "",
"name": "zl-planning",
"version": "1.10.5",
"version": "1.10.6",
"description": "",
"homepage": "",
"dependencies": {},
Expand Down
14 changes: 13 additions & 1 deletion src/directives/planning-day-block/planning-day.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,15 @@
var array = self.absences[key]
var hasOverlap = _.any(array, function (absence) {
var range = moment.range(absence.start, absence.end)
return self.day.date.within(range)
if (moment(absence.start).diff(absence.end, 'minutes') === 0) {
return false
}
if (moment(absence.start).hours() === 12 && moment(absence.start).isSame(self.day.date, 'day') ) {
return !!moment(absence.start).isBetween(self.day.date, moment(self.day.date).endOf('day'))
}
if (self.day.date.within(range) ) {
return true
}
})
if (hasOverlap) {
acc.push(key)
Expand All @@ -65,6 +73,10 @@
function dropEvent (data, event) {
self.dropCallback({ $data: data, $event: event})
}

// function overlaps (range1, range2) {
// return moment.range(range1.start, range1.end).overlaps(moment.range(range2.start, range2.end))
// }
}

/**
Expand Down
14 changes: 11 additions & 3 deletions src/directives/planning-vertical-line/planning-vertical-line.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
var self = this

self.$onInit = function () {
self.range = self.dayEnd.h - self.dayStart.h
self.SECONDS_BY_DAY = 3600 * self.range
self.SLIDER_WIDTH = BASE_SIZE * self.range
$scope.$watchCollection(function () {
return [self.events, self.dayStart, self.dayEnd]
}, init)
Expand All @@ -36,9 +39,14 @@
var start = moment(angular.copy(self.day)).startOf('day')
var end = moment(angular.copy(self.day)).endOf('day')
self._absences = AbsenceService.parseAbsences(angular.copy(self.absences), [start, end]).map(function (abs) {
abs.style = {
height: self.zoom * self.SLIDER_WIDTH * (moment.range(abs.start, abs.end).valueOf()) / self.SECONDS_BY_DAY / 1000 + 'px'
}
let tempTop = (moment(abs.start).hours() - self.dayStart.h) * BASE_SIZE * self.zoom + moment(abs.start).minutes() * BASE_SIZE * self.zoom / 60
let tempHeight = self.zoom * self.SLIDER_WIDTH * (moment.range(abs.start, abs.end).valueOf()) / self.SECONDS_BY_DAY / 1000
if (abs.style.top === 0 + 'px') {
abs.style.height = (tempTop + tempHeight) + 'px'
} else {
abs.style.height = tempHeight + 'px'
abs.style.top = tempTop + 'px'
}

abs.range = moment.range(abs.start, abs.end)
abs.class = 'planning-absence-' + abs.confirmation.state
Expand Down
10 changes: 6 additions & 4 deletions src/services/absences.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,14 @@
var parsed = absences.filter(function (abs) {
return moment.range(abs.start, abs.end).overlaps(moment.range(interval[0], interval[1]))
}).map(function (absence) {
absence.style = {}
if (moment(absence.start).isSame(moment(angular.copy(interval[0]))) ) {
absence.style.top = 0 + 'px'
absence.start = interval[0]
}
if (moment(absence.start).isBefore(moment(angular.copy(interval[0])))) {
absence.start = interval[0]
absence.style.top = 0 + 'px'
}
if (moment(absence.end).isAfter(moment(angular.copy(interval[1])))) {
absence.end = interval[1]
Expand Down Expand Up @@ -76,10 +82,6 @@

return mergeRanges(reduced)
}

function overlaps (range1, range2) {
return moment.range(range1.start, range1.end).overlaps(moment.range(range2.start, range2.end))
}
}

})(window.angular, window._, window.moment)

0 comments on commit e998ce0

Please sign in to comment.