loleaflet/src/control/Control.PartsPreview.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)
New commits: commit 685f10a287c23e22ad77468f10cfc0f2dac5955e Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> AuthorDate: Fri Nov 23 01:36:17 2018 -0500 Commit: Ashod Nakashian <ashnak...@gmail.com> CommitDate: Mon Apr 15 05:02:39 2019 +0200 leaflet: support reordering slides to first position Change-Id: I23fba5d7e10d861ec482974cf355c9fb1ae13a64 Reviewed-on: https://gerrit.libreoffice.org/69637 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loleaflet/src/control/Control.PartsPreview.js b/loleaflet/src/control/Control.PartsPreview.js index 23ef831d2..1492f03ab 100644 --- a/loleaflet/src/control/Control.PartsPreview.js +++ b/loleaflet/src/control/Control.PartsPreview.js @@ -66,7 +66,7 @@ L.Control.PartsPreview = L.Control.extend({ this._map.on('click', function() { this.partsFocused = false; }, this); - + this._map.on('keydown', function(e) { if (this.partsFocused === true) { switch (e.originalEvent.keyCode) { @@ -82,6 +82,12 @@ L.Control.PartsPreview = L.Control.extend({ this._scrollContainer = $('#slide-sorter .mCSB_container').get(0); + // Add a special frame just as a drop-site for reordering. + var frame = L.DomUtil.create('div', 'preview-frame', this._scrollContainer); + this._addDnDHandlers(frame); + frame.setAttribute('draggable', false); + L.DomUtil.setStyle(frame, 'height', '12px'); + // Create the preview parts for (var i = 0; i < parts; i++) { this._previewTiles.push(this._createPreview(i, e.partNames[i], bottomBound)); @@ -189,12 +195,12 @@ L.Control.PartsPreview = L.Control.extend({ $('#slide-sorter').mCustomScrollbar('scrollTo', nodePos-(sliderHeight-nodeHeight-nodeHeight/2)); }, 50); } - } + } return; } var part = $('#slide-sorter .mCSB_container .preview-frame').index(e.target.parentNode); if (part !== null) { - var partId = parseInt(part); + var partId = parseInt(part) - 1; // The first part is just a drop-site for reordering. if (e.ctrlKey) { this._map.selectPart(partId, 2, false); // Toggle selection on ctrl+click. @@ -381,7 +387,9 @@ L.Control.PartsPreview = L.Control.extend({ var part = $('#slide-sorter .mCSB_container .preview-frame').index(e.target.parentNode); if (part !== null) { - var partId = parseInt(part); + var partId = parseInt(part) - 1; // First frame is a drop-site for reordering. + if (partId < 0) + partId = -1; // First item is -1. this.partsPreview._map._socket.sendMessage('moveselectedclientparts position=' + partId); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits