mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-01 03:29:05 +01:00
Remove jQueryUI for moving events in timegrid view
This commit is contained in:
parent
526c549788
commit
ece3813459
@ -215,7 +215,7 @@ export function egwDragActionImplementation()
|
|||||||
|
|
||||||
node.setAttribute('draggable', true);
|
node.setAttribute('draggable', true);
|
||||||
const dragstart = function(event) {
|
const dragstart = function(event) {
|
||||||
event.stopImmediatePropagation();
|
//event.stopImmediatePropagation();
|
||||||
if (action) {
|
if (action) {
|
||||||
if (_context.isSelection(event)) return;
|
if (_context.isSelection(event)) return;
|
||||||
|
|
||||||
|
@ -113,8 +113,12 @@ export class et2_calendar_event extends et2_valueWidget implements et2_IDetached
|
|||||||
jQuery('body .egw_tooltip')
|
jQuery('body .egw_tooltip')
|
||||||
.css('border', 'none')
|
.css('border', 'none')
|
||||||
.on('mouseenter', function()
|
.on('mouseenter', function()
|
||||||
|
{
|
||||||
|
if(event.div)
|
||||||
{
|
{
|
||||||
event.div.off('mouseleave.tooltip');
|
event.div.off('mouseleave.tooltip');
|
||||||
|
}
|
||||||
|
|
||||||
jQuery('body.egw_tooltip').remove();
|
jQuery('body.egw_tooltip').remove();
|
||||||
jQuery('body').append(this);
|
jQuery('body').append(this);
|
||||||
jQuery(this).stop(true).fadeTo(400, 1)
|
jQuery(this).stop(true).fadeTo(400, 1)
|
||||||
|
@ -356,22 +356,26 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
|||||||
|
|
||||||
// Customize and override some draggable settings
|
// Customize and override some draggable settings
|
||||||
this.div
|
this.div
|
||||||
.on('dragcreate','.calendar_calEvent', function(event, ui) {
|
.on('dragcreate', '.calendar_calEvent', function(event, ui)
|
||||||
|
{
|
||||||
jQuery(this).draggable('option', 'cancel', '.rowNoEdit');
|
jQuery(this).draggable('option', 'cancel', '.rowNoEdit');
|
||||||
// Act like you clicked the header, makes it easier to position
|
// Act like you clicked the header, makes it easier to position
|
||||||
// but put it to the side (-5) so we can still do the hover
|
// but put it to the side (-5) so we can still do the hover
|
||||||
jQuery(this).draggable('option', 'cursorAt', {top: 5, left: -5});
|
jQuery(this).draggable('option', 'cursorAt', {top: 5, left: -5});
|
||||||
})
|
})
|
||||||
.on('dragstart', '.calendar_calEvent', function(event,ui) {
|
.on('dragstart', '.calendar_calEvent', function(event, ui)
|
||||||
jQuery('.calendar_calEvent', ui.helper).width(jQuery(this).width())
|
{
|
||||||
.height(jQuery(this).outerHeight())
|
|
||||||
.css('top', '').css('left', '')
|
|
||||||
.appendTo(ui.helper);
|
|
||||||
ui.helper.width(jQuery(this).width());
|
|
||||||
|
|
||||||
// Cancel drag to create, we're dragging an existing event
|
// Cancel drag to create, we're dragging an existing event
|
||||||
timegrid.drag_create.start = null;
|
timegrid.drag_create.start = null;
|
||||||
timegrid._drag_create_end();
|
timegrid._drag_create_end();
|
||||||
|
timegrid.div.on("drag.timegrid", (e) =>
|
||||||
|
{
|
||||||
|
timegrid._get_time_from_position(e.clientX, e.clientY);
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.on("dragend", () =>
|
||||||
|
{
|
||||||
|
timegrid.div.off("drag.timegrid");
|
||||||
})
|
})
|
||||||
.on('mousemove', function(event)
|
.on('mousemove', function(event)
|
||||||
{
|
{
|
||||||
@ -508,18 +512,12 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Leave the helper there until the update is done
|
// Leave the helper there until the update is done
|
||||||
var loading = ui.helper.clone(true).appendTo(jQuery('body'));
|
var loading = event_data.event_node;
|
||||||
// and add a loading icon so user knows something is happening
|
// and add a loading icon so user knows something is happening
|
||||||
if(jQuery('.calendar_timeDemo',loading).length == 0)
|
jQuery('.calendar_calEventHeader', event_widget.div).addClass('loading');
|
||||||
{
|
|
||||||
jQuery('.calendar_calEventHeader',loading).addClass('loading');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
jQuery('.calendar_timeDemo',loading).after('<div class="loading"></div>');
|
|
||||||
}
|
|
||||||
|
|
||||||
event_widget.recur_prompt(function(button_id) {
|
event_widget.recur_prompt(function(button_id)
|
||||||
|
{
|
||||||
if(button_id === 'cancel' || !button_id)
|
if(button_id === 'cancel' || !button_id)
|
||||||
{
|
{
|
||||||
// Need to refresh the event with original info to clean up
|
// Need to refresh the event with original info to clean up
|
||||||
@ -539,7 +537,11 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
|||||||
// If it is an integrated infolog event we need to edit infolog entry
|
// If it is an integrated infolog event we need to edit infolog entry
|
||||||
egw().json('stylite_infolog_calendar_integration::ajax_moveInfologEvent',
|
egw().json('stylite_infolog_calendar_integration::ajax_moveInfologEvent',
|
||||||
[event_data.app_id, target_date || false, duration],
|
[event_data.app_id, target_date || false, duration],
|
||||||
function() {loading.remove();}
|
function()
|
||||||
|
{
|
||||||
|
debugger;
|
||||||
|
loading.remove();
|
||||||
|
}
|
||||||
).sendRequest(true);
|
).sendRequest(true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -566,7 +568,10 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
|||||||
duration,
|
duration,
|
||||||
series_instance
|
series_instance
|
||||||
],
|
],
|
||||||
function() { loading.remove();}
|
function()
|
||||||
|
{
|
||||||
|
loading.remove();
|
||||||
|
}
|
||||||
).sendRequest(true);
|
).sendRequest(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1269,11 +1274,18 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
|||||||
widget_object.getActionLink('egw_link_drop').enabled = !enabled;
|
widget_object.getActionLink('egw_link_drop').enabled = !enabled;
|
||||||
};
|
};
|
||||||
|
|
||||||
aoi.doTriggerEvent = function(_event, _data) {
|
aoi.doTriggerEvent = function(_event, _data)
|
||||||
|
{
|
||||||
// Determine target node
|
// Determine target node
|
||||||
var event = _data.event || false;
|
var event = _data.event || false;
|
||||||
if(!event) return;
|
if(!event)
|
||||||
if(_data.ui.draggable.hasClass('rowNoEdit')) return;
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(_data.ui.draggable.classList.contains('rowNoEdit'))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
We have to handle the drop in the normal event stream instead of waiting
|
We have to handle the drop in the normal event stream instead of waiting
|
||||||
@ -1284,14 +1296,16 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
|||||||
var dropEnd = false;
|
var dropEnd = false;
|
||||||
var helper = jQuery('.calendar_d-n-d_timeCounter', _data.ui.helper)[0];
|
var helper = jQuery('.calendar_d-n-d_timeCounter', _data.ui.helper)[0];
|
||||||
if(helper && helper.dropEnd && helper.dropEnd.length >= 1)
|
if(helper && helper.dropEnd && helper.dropEnd.length >= 1)
|
||||||
|
{
|
||||||
if(typeof this.dropEnd !== 'undefined' && this.dropEnd.length >= 1)
|
if(typeof this.dropEnd !== 'undefined' && this.dropEnd.length >= 1)
|
||||||
{
|
{
|
||||||
dropEnd = helper.dropEnd[0].dataset || false;
|
dropEnd = helper.dropEnd[0].dataset || false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
this.getWidget()._event_drop.call(jQuery('.calendar_d-n-d_timeCounter', _data.ui.helper)[0], this.getWidget(), event, _data.ui, dropEnd);
|
this.getWidget()._event_drop.call(jQuery('.calendar_d-n-d_timeCounter', _data.ui.helper)[0], this.getWidget(), event, _data.ui, dropEnd);
|
||||||
}
|
}
|
||||||
var drag_listener = function(_event, ui) {
|
var drag_listener = function(_event, ui) {
|
||||||
aoi.getWidget()._drag_helper(jQuery('.calendar_d-n-d_timeCounter',ui.helper)[0],ui.helper[0],0);
|
aoi.getWidget()._drag_helper(jQuery('.calendar_d-n-d_timeCounter', _data.ui.helper)[0], _data.ui.helper[0], 0);
|
||||||
if(aoi.getWidget().daily_owner)
|
if(aoi.getWidget().daily_owner)
|
||||||
{
|
{
|
||||||
_invite_enabled(
|
_invite_enabled(
|
||||||
@ -1308,9 +1322,10 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
|||||||
case EGW_AI_DRAG_OVER:
|
case EGW_AI_DRAG_OVER:
|
||||||
// Listen to the drag and update the helper with the time
|
// Listen to the drag and update the helper with the time
|
||||||
// This part lets us drag between different timegrids
|
// This part lets us drag between different timegrids
|
||||||
_data.ui.draggable.on('drag.et2_timegrid'+widget_object.id, drag_listener);
|
jQuery(_data.ui.draggable).on('drag.et2_timegrid' + widget_object.id, drag_listener);
|
||||||
_data.ui.draggable.on('dragend.et2_timegrid'+widget_object.id, function() {
|
jQuery(_data.ui.draggable).on('dragend.et2_timegrid' + widget_object.id, function()
|
||||||
_data.ui.draggable.off('drag.et2_timegrid' + widget_object.id);
|
{
|
||||||
|
jQuery(_data.ui.draggable).off('drag.et2_timegrid' + widget_object.id);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Remove formatting for out-of-view events (full day non-blocking)
|
// Remove formatting for out-of-view events (full day non-blocking)
|
||||||
@ -1318,7 +1333,7 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
|||||||
jQuery('.calendar_calEventBody', _data.ui.helper).css('padding-top', '');
|
jQuery('.calendar_calEventBody', _data.ui.helper).css('padding-top', '');
|
||||||
|
|
||||||
// Disable invite / change actions for same calendar or already participant
|
// Disable invite / change actions for same calendar or already participant
|
||||||
var event = _data.ui.draggable.data('selected')[0];
|
var event = _data.ui.selected[0];
|
||||||
if(!event || event.id && event.id.indexOf('calendar') !== 0)
|
if(!event || event.id && event.id.indexOf('calendar') !== 0)
|
||||||
{
|
{
|
||||||
event = false;
|
event = false;
|
||||||
@ -1339,7 +1354,7 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_data.ui.helper.prepend('<div class="calendar_d-n-d_timeCounter" data-count="1"><span></span></div>');
|
jQuery(_data.ui.helper).prepend('<div class="calendar_d-n-d_timeCounter" data-count="1"><span></span></div>');
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -1347,7 +1362,7 @@ export class et2_calendar_timegrid extends et2_calendar_view implements et2_IDet
|
|||||||
// Triggered once, when something is dragged out of the timegrid
|
// Triggered once, when something is dragged out of the timegrid
|
||||||
case EGW_AI_DRAG_OUT:
|
case EGW_AI_DRAG_OUT:
|
||||||
// Stop listening
|
// Stop listening
|
||||||
_data.ui.draggable.off('drag.et2_timegrid'+widget_object.id);
|
jQuery(_data.ui.draggable).off('drag.et2_timegrid' + widget_object.id);
|
||||||
// Remove highlighted time square
|
// Remove highlighted time square
|
||||||
var timegrid = aoi.getWidget();
|
var timegrid = aoi.getWidget();
|
||||||
timegrid.gridHover.hide();
|
timegrid.gridHover.hide();
|
||||||
|
Loading…
Reference in New Issue
Block a user