Сброс (вверху слева ширины CSS-стилей) для внешнего события в fullcalendar - PullRequest
0 голосов
/ 01 февраля 2019
$scope.ctrlstartDragging = function(id) {

            var book = document.getElementById(id);
            var domRect = book.getBoundingClientRect();
                book.style.position = 'fixed';
                book.style.top = domRect.top + 'px';
                book.style.left = domRect.left + 'px';
                book.style.width=(domRect.width) + 'px';

        };
        $scope.ctrlendDragging = function(id) {

           var book = document.getElementById(id);
                book.style.position = 'relative';
                book.style.top = 'unset';
                book.style.left = 'unset';
                book.style.width='unset';
        };

когда я очищаю поиск ввода после применения фильтра к внешним событиям, последнее добавленное событие в календаре поднимается вверх (как если бы $ scope.ctrlstartDragging = function (id) по-прежнему применяется немедленно и автоматическина нем (последнее добавленное событие в календаре).

для воспроизведения (ссылка codePen внизу):

1 - перетащите в календарь событие 4

2- найти событие 111 из входного поиска

3 - перетащить в календарь событие 111, найденное фильтром

4 - очистить фильтр вручную или нажав кнопку очистки

, как вы можете видеть, последнее добавленное в календарь событие 111 поднимается наверх.

, чего не должно быть, следует реинтегрировать в список.

Функция ondragstart => $ scope.ctrlstartDragging = (id) все еще работает с этим событием, а функция ondragend => $ scope.ctrlendDragging = function (id) - не запущено .

и отображаетсябольше проблемаm:

1 - обновить браузер

2 - снять флажок Удалить после перетаскивания

3 - перетащить любое событие в календарь

какВы можете видеть, что последнее пропущенное событие в календаре поднимается в верхнюю часть окна внешних событий.

Мой вопрос заключается в том, как запустить ctrlendDragging и unset / reset (стили CSS css вверху слева)книгу, чтобы вернуться к своим первым основным стилям CSS, прежде чем мы начнем какое-либо перетаскивание или перемещение?

codePen

относящиеся:

SO Q1 SO Q2

большое спасибо.

1 Ответ

0 голосов
/ 02 февраля 2019
drop: function() {

                // reset 
                var reccupuredIndexForTitle=$(this).attr('id');
                $scope.ctrlendDragging(reccupuredIndexForTitle);


                // is the "remove after drop" checkbox checked?
                if ($('#drop-remove').is(':checked')) {
                    // if so, remove the element from the "Draggable Events" list
                   $(this).remove();


                }
            }

Я сделал это как обходной путь, но я не понял, почему ondragend не срабатывает и, следовательно, не вызывает $ scope.ctrlendDragging

Рабочая CodePen

...