|
@@ -1,4 +1,4 @@
|
|
|
-// Edit start & due dates
|
|
|
+// Edit received, start, due & end dates
|
|
|
const EditCardDate = BlazeComponent.extendComponent({
|
|
|
template() {
|
|
|
return 'editCardDate';
|
|
@@ -92,6 +92,23 @@ Template.dateBadge.helpers({
|
|
|
},
|
|
|
});
|
|
|
|
|
|
+// editCardReceivedDatePopup
|
|
|
+(class extends EditCardDate {
|
|
|
+ onCreated() {
|
|
|
+ super.onCreated();
|
|
|
+ this.data().receivedAt && this.date.set(moment(this.data().receivedAt));
|
|
|
+ }
|
|
|
+
|
|
|
+ _storeDate(date) {
|
|
|
+ this.card.setReceived(date);
|
|
|
+ }
|
|
|
+
|
|
|
+ _deleteDate() {
|
|
|
+ this.card.unsetReceived();
|
|
|
+ }
|
|
|
+}).register('editCardReceivedDatePopup');
|
|
|
+
|
|
|
+
|
|
|
// editCardStartDatePopup
|
|
|
(class extends EditCardDate {
|
|
|
onCreated() {
|
|
@@ -99,6 +116,13 @@ Template.dateBadge.helpers({
|
|
|
this.data().startAt && this.date.set(moment(this.data().startAt));
|
|
|
}
|
|
|
|
|
|
+ onRendered() {
|
|
|
+ super.onRendered();
|
|
|
+ if (moment.isDate(this.card.receivedAt)) {
|
|
|
+ this.$('.js-datepicker').datepicker('setStartDate', this.card.receivedAt);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
_storeDate(date) {
|
|
|
this.card.setStart(date);
|
|
|
}
|
|
@@ -131,8 +155,31 @@ Template.dateBadge.helpers({
|
|
|
}
|
|
|
}).register('editCardDueDatePopup');
|
|
|
|
|
|
+// editCardEndDatePopup
|
|
|
+(class extends EditCardDate {
|
|
|
+ onCreated() {
|
|
|
+ super.onCreated();
|
|
|
+ this.data().endAt && this.date.set(moment(this.data().endAt));
|
|
|
+ }
|
|
|
+
|
|
|
+ onRendered() {
|
|
|
+ super.onRendered();
|
|
|
+ if (moment.isDate(this.card.startAt)) {
|
|
|
+ this.$('.js-datepicker').datepicker('setStartDate', this.card.startAt);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ _storeDate(date) {
|
|
|
+ this.card.setEnd(date);
|
|
|
+ }
|
|
|
+
|
|
|
+ _deleteDate() {
|
|
|
+ this.card.unsetEnd();
|
|
|
+ }
|
|
|
+}).register('editCardEndDatePopup');
|
|
|
+
|
|
|
|
|
|
-// Display start & due dates
|
|
|
+// Display received, start, due & end dates
|
|
|
const CardDate = BlazeComponent.extendComponent({
|
|
|
template() {
|
|
|
return 'dateBadge';
|
|
@@ -161,6 +208,36 @@ const CardDate = BlazeComponent.extendComponent({
|
|
|
},
|
|
|
});
|
|
|
|
|
|
+class CardReceivedDate extends CardDate {
|
|
|
+ onCreated() {
|
|
|
+ super.onCreated();
|
|
|
+ const self = this;
|
|
|
+ self.autorun(() => {
|
|
|
+ self.date.set(moment(self.data().receivedAt));
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ classes() {
|
|
|
+ let classes = 'received-date' + ' ';
|
|
|
+ if (this.date.get().isBefore(this.now.get(), 'minute') &&
|
|
|
+ this.now.get().isBefore(this.data().dueAt)) {
|
|
|
+ classes += 'current';
|
|
|
+ }
|
|
|
+ return classes;
|
|
|
+ }
|
|
|
+
|
|
|
+ showTitle() {
|
|
|
+ return `${TAPi18n.__('card-received-on')} ${this.date.get().format('LLLL')}`;
|
|
|
+ }
|
|
|
+
|
|
|
+ events() {
|
|
|
+ return super.events().concat({
|
|
|
+ 'click .js-edit-date': Popup.open('editCardReceivedDate'),
|
|
|
+ });
|
|
|
+ }
|
|
|
+}
|
|
|
+CardReceivedDate.register('cardReceivedDate');
|
|
|
+
|
|
|
class CardStartDate extends CardDate {
|
|
|
onCreated() {
|
|
|
super.onCreated();
|
|
@@ -223,6 +300,44 @@ class CardDueDate extends CardDate {
|
|
|
}
|
|
|
CardDueDate.register('cardDueDate');
|
|
|
|
|
|
+class CardEndDate extends CardDate {
|
|
|
+ onCreated() {
|
|
|
+ super.onCreated();
|
|
|
+ const self = this;
|
|
|
+ self.autorun(() => {
|
|
|
+ self.date.set(moment(self.data().endAt));
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ classes() {
|
|
|
+ let classes = 'end-date' + ' ';
|
|
|
+ if (this.data.dueAt.diff(this.date.get(), 'days') >= 2)
|
|
|
+ classes += 'long-overdue';
|
|
|
+ else if (this.data.dueAt.diff(this.date.get(), 'days') >= 0)
|
|
|
+ classes += 'due';
|
|
|
+ else if (this.data.dueAt.diff(this.date.get(), 'days') >= -2)
|
|
|
+ classes += 'almost-due';
|
|
|
+ return classes;
|
|
|
+ }
|
|
|
+
|
|
|
+ showTitle() {
|
|
|
+ return `${TAPi18n.__('card-end-on')} ${this.date.get().format('LLLL')}`;
|
|
|
+ }
|
|
|
+
|
|
|
+ events() {
|
|
|
+ return super.events().concat({
|
|
|
+ 'click .js-edit-date': Popup.open('editCardEndDate'),
|
|
|
+ });
|
|
|
+ }
|
|
|
+}
|
|
|
+CardEndDate.register('cardEndDate');
|
|
|
+
|
|
|
+(class extends CardReceivedDate {
|
|
|
+ showDate() {
|
|
|
+ return this.date.get().format('l');
|
|
|
+ }
|
|
|
+}).register('minicardReceivedDate');
|
|
|
+
|
|
|
(class extends CardStartDate {
|
|
|
showDate() {
|
|
|
return this.date.get().format('l');
|
|
@@ -234,3 +349,10 @@ CardDueDate.register('cardDueDate');
|
|
|
return this.date.get().format('l');
|
|
|
}
|
|
|
}).register('minicardDueDate');
|
|
|
+
|
|
|
+(class extends CardEndDate {
|
|
|
+ showDate() {
|
|
|
+ return this.date.get().format('l');
|
|
|
+ }
|
|
|
+}).register('minicardEndDate');
|
|
|
+
|