summaryrefslogtreecommitdiffstats
path: root/client/components/cards/cardDate.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/components/cards/cardDate.js')
-rw-r--r--client/components/cards/cardDate.js91
1 files changed, 2 insertions, 89 deletions
diff --git a/client/components/cards/cardDate.js b/client/components/cards/cardDate.js
index 3f69f384..09a6761b 100644
--- a/client/components/cards/cardDate.js
+++ b/client/components/cards/cardDate.js
@@ -1,91 +1,4 @@
// Edit start & due dates
-const EditCardDate = BlazeComponent.extendComponent({
- template() {
- return 'editCardDate';
- },
-
- onCreated() {
- this.error = new ReactiveVar('');
- this.card = this.data();
- this.date = new ReactiveVar(moment.invalid());
- },
-
- onRendered() {
- const $picker = this.$('.js-datepicker').datepicker({
- todayHighlight: true,
- todayBtn: 'linked',
- language: TAPi18n.getLanguage(),
- }).on('changeDate', function(evt) {
- this.find('#date').value = moment(evt.date).format('L');
- this.error.set('');
- this.find('#time').focus();
- }.bind(this));
-
- if (this.date.get().isValid()) {
- $picker.datepicker('update', this.date.get().toDate());
- }
- },
-
- showDate() {
- if (this.date.get().isValid())
- return this.date.get().format('L');
- return '';
- },
- showTime() {
- if (this.date.get().isValid())
- return this.date.get().format('LT');
- return '';
- },
- dateFormat() {
- return moment.localeData().longDateFormat('L');
- },
- timeFormat() {
- return moment.localeData().longDateFormat('LT');
- },
-
- events() {
- return [{
- 'keyup .js-date-field'() {
- // parse for localized date format in strict mode
- const dateMoment = moment(this.find('#date').value, 'L', true);
- if (dateMoment.isValid()) {
- this.error.set('');
- this.$('.js-datepicker').datepicker('update', dateMoment.toDate());
- }
- },
- 'keyup .js-time-field'() {
- // parse for localized time format in strict mode
- const dateMoment = moment(this.find('#time').value, 'LT', true);
- if (dateMoment.isValid()) {
- this.error.set('');
- }
- },
- 'submit .edit-date'(evt) {
- evt.preventDefault();
-
- // if no time was given, init with 12:00
- const time = evt.target.time.value || moment(new Date().setHours(12, 0, 0)).format('LT');
-
- const dateString = `${evt.target.date.value} ${time}`;
- const newDate = moment(dateString, 'L LT', true);
- if (newDate.isValid()) {
- this._storeDate(newDate.toDate());
- Popup.close();
- }
- else {
- this.error.set('invalid-date');
- evt.target.date.focus();
- }
- },
- 'click .js-delete-date'(evt) {
- evt.preventDefault();
- this._deleteDate();
- Popup.close();
- },
- }];
- },
-});
-
Template.dateBadge.helpers({
canModifyCard() {
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
@@ -93,7 +6,7 @@ Template.dateBadge.helpers({
});
// editCardStartDatePopup
-(class extends EditCardDate {
+(class extends DatePicker {
onCreated() {
super.onCreated();
this.data().startAt && this.date.set(moment(this.data().startAt));
@@ -109,7 +22,7 @@ Template.dateBadge.helpers({
}).register('editCardStartDatePopup');
// editCardDueDatePopup
-(class extends EditCardDate {
+(class extends DatePicker {
onCreated() {
super.onCreated();
this.data().dueAt && this.date.set(moment(this.data().dueAt));