diff --git a/resources/assets/javascripts/bootstrap/messages.js b/resources/assets/javascripts/bootstrap/messages.js index f518bb4eef09c23aea6615d305b7116cb1e875a8..a61239c65075a5b221b0cb51947e475354128678 100644 --- a/resources/assets/javascripts/bootstrap/messages.js +++ b/resources/assets/javascripts/bootstrap/messages.js @@ -45,7 +45,7 @@ STUDIP.domReady(() => { jQuery('#loaded').val(parseInt(jQuery('#loaded').val(), 10) + 1); jQuery.each(response.messages, function(index, message) { - jQuery('#messages > tbody').append(message); + STUDIP.Messages.createDraggable(message).appendTo('#messages > tbody'); }); if (response.more) { @@ -70,28 +70,8 @@ STUDIP.domReady(() => { } }); - jQuery('#messages > tbody > tr').draggable({ - //cursor: "move", - distance: 10, - cursorAt: { left: 28, top: 15 }, - helper: function() { - var title = jQuery(this) - .find('.title') - .text() - .trim(); - return jQuery('<div id="message-move-handle">').text(title); - }, - revert: true, - revertDuration: '200', - appendTo: 'body', - zIndex: 1000, - start: function() { - jQuery('#messages-tags').addClass('dragging'); - }, - stop: function() { - jQuery('#messages-tags').removeClass('dragging'); - } - }); + $('#messages > tbody > tr').each(STUDIP.Messages.createDraggable) + jQuery('#messages > tbody').trigger('touchstart'); jQuery('.widget-links li:has(.tag)').each(STUDIP.Messages.createDroppable); diff --git a/resources/assets/javascripts/lib/messages.js b/resources/assets/javascripts/lib/messages.js index 3bd1656cf7a1a3a0abc79fe3490c425821b09919..30481b7d87441e8c9305e44531729c1fcfb15676 100644 --- a/resources/assets/javascripts/lib/messages.js +++ b/resources/assets/javascripts/lib/messages.js @@ -268,6 +268,27 @@ const Messages = { } }); }, + createDraggable: function(element) { + return $(arguments.length === 1 ? element : this).draggable({ + //cursor: "move", + distance: 10, + cursorAt: { left: 28, top: 15 }, + helper() { + const title = $(this).find('.title').text().trim(); + return $('<div id="message-move-handle">').text(title); + }, + revert: true, + revertDuration: '200', + appendTo: 'body', + zIndex: 1000, + start() { + $('#messages-tags').addClass('dragging'); + }, + stop() { + $('#messages-tags').removeClass('dragging'); + } + }); + }, toggleSetting: function(name) { jQuery('#' + name).toggle('fade'); if (jQuery('#' + name).is(':visible')) {