Добавление/редактирование категорий через AJAX
По сути это почти одно и тоже, различаются слегка запросы к серверу и при редактировании надо форму заполнить имеющимися данными.
Редактирование делается через кнопку с шестеренкой; для добавления надо сделать специальные кнопочки с плюсиками (как в режиме редактирования в курсе) внизу или вверху (лучше и внизу и вверху, можно внутри каждого контекста...).
Смысл - вывести во всплывающем окне мини-формочку редактирования категории (она есть внизу для добавления - теперь заменить на кнопку с плюсиком и она же показывается по шестеренке), ввести данные, выполнить через AJAX запрос и подставить в нужное место в списке обновленный результат, чтобы не перезагружать страницу.
Здесь уже нужен полноценный модальный диалог, а не MessageBox как при удалении - подгружающий страницу с формой с сервера. Могут быть проблемы с загрузкой всех скриптов MoodleForms на эту форму (надо проверить вставку картинок в описание категории, там html-редактор) - такой вопрос решался Стрельцовым в форме для инструментов авторинга Preg успешно, можно взять решение оттуда.
С реализацией удаления, добавления и редактирования мы об-айяксим всю форму и плагин приобретет законченный вид.
Comments (8)
-
reporter -
Вообще-то, если добавление ведется с ajax страницы, то оно и ведет на ajax страницу сейчас.
-
reporter Ну хорошо, но страницу он все равно перезагружает. А этого мы стараемся избежать.
-
Задание добавления и редактирования через ajax выполнил. Этот ссылка к моей работе. Ну возникает конфликт между старым код и новым: кнопка и ссылка для редактирования слушает 2 события одновременно: "drop:mousedown" (для drag&drop) и "click" (нужно для запускать окно редактирования). Исправить могу, но пока я выключил часть код, которая старую событию слушает.
-
reporter - Создайте pull request с тестовыми инструкциями, как положено, для сдачи работы.
- С конфликтами между кодом надо разобраться, нарушать работоспособность нельзя. Они же должны слушать эти события в разных местах.
-
В последнем коммите, конфликты разобрались, пока все функцию с категорий работает (кроме удаление) с AJAX. pull request тоже создал.
-
reporter -
assigned issue to
-
assigned issue to
-
reporter - changed status to resolved
- Log in to comment
Кстати у нас есть и дополнительная мотивация для этого. Сейчас после редактирования/удаления/добавления категории (а это загрузка отдельной страницы) возвращающаяся ссылка ведет на обычную страницу категорий, не AJAX - что сбивает с толку. Мне кажется проще доделать свое редактирование, чем вносить изменения в Moodle чтобы можно было вернуться на страницу...