- {{::row.from | date:'dd/MM/yy'}}
+ {{::row.dated | date:'dd/MM/yy'}}
-
- {{::row.from | date:'dd/MM/yy'}} - {{::row.to | date:'dd/MM/yy'}}
+
+ {{::row.started | date:'dd/MM/yy'}} - {{::row.ended | date:'dd/MM/yy'}}
-
+
Indefinitely
@@ -94,40 +94,40 @@
+ ng-model="$ctrl.selected.dated">
+ ng-if="$ctrl.selected.type == 'range'">
+ ng-model="$ctrl.selected.started">
+ ng-model="$ctrl.selected.ended">
diff --git a/modules/agency/front/events/index.js b/modules/agency/front/events/index.js
index f7e689afed..b6352802aa 100644
--- a/modules/agency/front/events/index.js
+++ b/modules/agency/front/events/index.js
@@ -1,7 +1,7 @@
import ngModule from '../module';
-import Component from 'core/lib/component';
+import Section from 'salix/components/section';
-class Controller extends Component {
+class Controller extends Section {
constructor($element, $, vnWeekDays) {
super($element, $);
this.vnWeekDays = vnWeekDays;
@@ -27,13 +27,13 @@ class Controller extends Component {
formatWdays(weekDays) {
if (!weekDays) return;
- let abrWdays = [];
- for (let wday of weekDays.split(','))
- abrWdays.push(this.vnWeekDays.map[wday].localeAbr);
+ let abrWdays = weekDays
+ .split(',')
+ .map(wday => this.vnWeekDays.map[wday].localeAbr);
return abrWdays.length < 7
? abrWdays.join(', ')
- : this._('Everyday');
+ : this.$t('Everyday');
}
onSelection(days, type, weekday, data) {
@@ -66,37 +66,28 @@ class Controller extends Component {
edit(row) {
this.isNew = false;
-
- if (row.from && !row.to)
- this.eventType = 'day';
- else if (!row.from)
- this.eventType = 'indefinitely';
- else
- this.eventType = 'range';
-
this.selected = angular.copy(row);
- this.selected.wdays = {};
-
- if (row.weekDays) {
- let weekDays = row.weekDays.split(',');
- for (let day of weekDays)
- this.selected.wdays[day] = true;
- }
-
+ this.selected.wdays = this.vnWeekDays.fromSet(row.weekDays);
this.$.dialog.show();
}
create(days, type, weekday) {
this.isNew = true;
- this.eventType = type == 'day' ? 'day' : 'indefinitely';
if (type == 'weekday') {
let wdays = [];
- let code = this.vnWeekDays.days[weekday].code;
- wdays[code] = true;
- this.selected = {wdays};
- } else
- this.selected = {from: days[0]};
+ wdays[weekday] = true;
+
+ this.selected = {
+ type: 'indefinitely',
+ wdays
+ };
+ } else {
+ this.selected = {
+ type: 'day',
+ dated: days[0]
+ };
+ }
this.$.dialog.show();
}
@@ -105,24 +96,18 @@ class Controller extends Component {
switch (response) {
case 'accept': {
let selected = this.selected;
+ let type = selected.type;
- if (this.eventType == 'indefinitely') {
- selected.from = null;
- selected.to = null;
- }
+ selected.weekDays = this.vnWeekDays.toSet(selected.wdays);
- if (this.eventType != 'day') {
- let weekDays = [];
-
- for (let wday in selected.wdays) {
- if (selected.wdays[wday])
- weekDays.push(wday);
- }
-
- selected.weekDays = weekDays.join(',');
- } else {
- selected.to = null;
+ if (type == 'day')
selected.weekDays = '';
+ else
+ selected.dated = null;
+
+ if (type != 'range') {
+ selected.started = null;
+ selected.ended = null;
}
let req;
@@ -138,7 +123,7 @@ class Controller extends Component {
this.refresh();
});
}
- case 'DELETE':
+ case 'delete':
return this.onDelete(this.selected.id)
.then(response => response == 'accept');
}
@@ -162,8 +147,8 @@ class Controller extends Component {
}
exclusionCreate(days) {
- let exclusions = days.map(day => {
- return {day};
+ let exclusions = days.map(dated => {
+ return {dated};
});
this.$http.post(this.exclusionsPath, exclusions)