[ADD] Enable multiselect

[IMP] Prevent flickering

[IMP] Fixed headers

[ADD] Create new record by date range selection

Remove roadmap item from readme

[FIX] minimal height
This commit is contained in:
Dennis Sluijk
2018-08-24 11:36:48 +02:00
committed by tarteo
parent 66c656cb33
commit 55d5ef4bfb
5 changed files with 64 additions and 18 deletions

View File

@@ -25,6 +25,8 @@ var CalendarController = AbstractController.extend({
this.date_stop = params.date_stop;
this.date_delay = params.date_delay;
this.context = params.actionContext;
this.moveQueue = [];
this.debouncedInternalMove = _.debounce(this.internalMove, 0);
},
update: function(params, options) {
@@ -111,7 +113,6 @@ var CalendarController = AbstractController.extend({
},
_onMove: function(event) {
var self = this;
var item = event.data.item;
var view = this.renderer.view;
var fields = view.fields;
@@ -139,16 +140,35 @@ var CalendarController = AbstractController.extend({
if (this.renderer.last_group_bys && this.renderer.last_group_bys instanceof Array) {
data[this.renderer.last_group_bys[0]] = group;
}
self._rpc({
model: self.model.modelName,
method: 'write',
args: [
[event.data.item.id],
data,
],
context: self.getSession().user_context,
}).then(function() {
event.data.callback(event.data.item);
this.moveQueue.push({
id: event.data.item.id,
data: data,
event: event
});
this.debouncedInternalMove();
},
internalMove: function() {
var self = this;
var queue = this.moveQueue.slice();
this.moveQueue = [];
var defers = [];
_.each(queue, function(item) {
defers.push(self._rpc({
model: self.model.modelName,
method: 'write',
args: [
[item.event.data.item.id],
item.data,
],
context: self.getSession().user_context,
}).then(function() {
item.event.data.callback(item.event.data.item);
}));
});
return $.when.apply($, defers).done(function() {
self.write_completed({
adjust_window: false
});
@@ -203,8 +223,11 @@ var CalendarController = AbstractController.extend({
if (this.date_delay) {
default_context['default_'.concat(this.date_delay)] = 1;
}
if (this.date_stop) {
default_context['default_'.concat(this.date_stop)] = moment(item.start).add(1, 'hours').toDate();
if (this.date_start) {
default_context['default_'.concat(this.date_start)] = moment(item.start).add(1, 'hours').toDate();
}
if (this.date_stop && item.end) {
default_context['default_'.concat(this.date_stop)] = moment(item.end).add(1, 'hours').toDate();
}
if (item.group > 0) {
default_context['default_'.concat(this.renderer.last_group_bys[0])] = item.group;
@@ -218,7 +241,10 @@ var CalendarController = AbstractController.extend({
on_saved: function (record) {
self.create_completed([record.res_id]);
},
}).open();
}).open().on('closed', this, function() {
event.data.callback();
});
return false;
},