summaryrefslogtreecommitdiffstats
path: root/client/components/cards/cardDate.js
diff options
context:
space:
mode:
authorRJevnikar <12701645+rjevnikar@users.noreply.github.com>2018-07-31 22:01:14 +0000
committerRJevnikar <12701645+rjevnikar@users.noreply.github.com>2018-07-31 22:01:14 +0000
commita8146e61f326dbe2bddd1d0c1bd781bcc6bca443 (patch)
tree625a3d868db5330369bc68a394f79063c6cfe9df /client/components/cards/cardDate.js
parent6a23f73d94ad6b4136e815c61b0bf132b8e476e1 (diff)
downloadwekan-a8146e61f326dbe2bddd1d0c1bd781bcc6bca443.tar.gz
wekan-a8146e61f326dbe2bddd1d0c1bd781bcc6bca443.tar.bz2
wekan-a8146e61f326dbe2bddd1d0c1bd781bcc6bca443.zip
Fix flagging of dates (i.e. due date only flagged when before end date)
Diffstat (limited to 'client/components/cards/cardDate.js')
-rw-r--r--client/components/cards/cardDate.js60
1 files changed, 32 insertions, 28 deletions
diff --git a/client/components/cards/cardDate.js b/client/components/cards/cardDate.js
index b0f2baa3..831a0f39 100644
--- a/client/components/cards/cardDate.js
+++ b/client/components/cards/cardDate.js
@@ -220,12 +220,16 @@ class CardReceivedDate extends CardDate {
classes() {
let classes = 'received-date ';
const dueAt = this.data().dueAt;
- if (dueAt) {
- if (this.date.get().isBefore(this.now.get(), 'minute') &&
- this.now.get().isBefore(dueAt)) {
- classes += 'current';
- }
- }
+ const endAt = this.data().endAt;
+ const startAt = this.data().startAt;
+ const theDate = this.date.get();
+ // if dueAt, endAt and startAt exist & are > receivedAt, receivedAt doesn't need to be flagged
+ if (((startAt) && (theDate.isAfter(dueAt))) ||
+ ((endAt) && (theDate.isAfter(endAt))) ||
+ ((dueAt) && (theDate.isAfter(dueAt))))
+ classes += 'long-overdue';
+ else
+ classes += 'current';
return classes;
}
@@ -253,12 +257,17 @@ class CardStartDate extends CardDate {
classes() {
let classes = 'start-date' + ' ';
const dueAt = this.data().dueAt;
- if (dueAt) {
- if (this.date.get().isBefore(this.now.get(), 'minute') &&
- this.now.get().isBefore(dueAt)) {
- classes += 'current';
- }
- }
+ const endAt = this.data().endAt;
+ const theDate = this.date.get();
+ const now = this.now.get();
+ // if dueAt or endAt exist & are > startAt, startAt doesn't need to be flagged
+ if (((endAt) && (theDate.isAfter(endAt))) ||
+ ((dueAt) && (theDate.isAfter(dueAt))))
+ classes += 'long-overdue';
+ else if (theDate.isBefore(now, 'minute'))
+ classes += 'almost-due';
+ else
+ classes += 'current';
return classes;
}
@@ -286,17 +295,15 @@ class CardDueDate extends CardDate {
classes() {
let classes = 'due-date' + ' ';
- // if endAt exists & is < dueAt, dueAt doesn't need to be flagged
const endAt = this.data().endAt;
const theDate = this.date.get();
const now = this.now.get();
-
- if ((endAt !== 0) &&
- (endAt !== null) &&
- (endAt !== '') &&
- (endAt !== undefined) &&
- (theDate.isBefore(endAt)))
+ // if the due date is after the end date, green - done early
+ if ((endAt) && (theDate.isAfter(endAt)))
classes += 'current';
+ // if there is an end date, don't need to flag the due date
+ else if (endAt)
+ classes += '';
else if (now.diff(theDate, 'days') >= 2)
classes += 'long-overdue';
else if (now.diff(theDate, 'minute') >= 0)
@@ -330,15 +337,12 @@ class CardEndDate extends CardDate {
classes() {
let classes = 'end-date' + ' ';
const dueAt = this.data.dueAt;
- if (dueAt) {
- const diff = dueAt.diff(this.date.get(), 'days');
- if (diff >= 2)
- classes += 'long-overdue';
- else if (diff > 0)
- classes += 'due';
- else if (diff <= 0)
- classes += 'current';
- }
+ const theDate = this.date.get();
+ // if dueAt exists & is after endAt, endAt doesn't need to be flagged
+ if ((dueAt) && (theDate.isAfter(dueAt, 'minute')))
+ classes += 'long-overdue';
+ else
+ classes += 'current';
return classes;
}