Редактирование данных
Как редактировать записи в веб-приложениях
Теперь можно приступать к реализации редактирования. Сделаем это на примере таблицы с городами. Возможно, у какого-то города поступила обновленная информация о численности населения, изменилось информационное описание, или даже название. Для этого нам необходимо создать кнопку в таблице, которая откроет модальное окно, а также создать само модальное окно, в котором и будет осуществляться редактирование.
Модальное окно для редактирования записей
В целом данный процесс очень похож на то, как осуществлялось изначальное создание новых записей. Там тоже нажимали кнопку, появлялось модальное окно, заполняли необходимые данные. Но при создании все поля ввода в модальном окне были пустыми, нам не нужно было знать ID записи, которую мы создаем. Все данные либо заполнялись вручную, либо назначались автоматически. Сейчас же для редактирования нужно открыть строго определенную запись и получить именно ее данные.
Начнем с настройки кнопки редактирования. Ее задача будет заключаться в том, чтобы записать в глобальную переменную ID записи и открыть модальное окно редактирования. Создадим соответствующий БП. Можно увидеть, что созданная глобальная переменная находится в общем списке блоков под своим уникальным именем.
После этого необходимо настроить само модальное окно редактирования. Визуально оно ничем (кроме названия) не отличается от модального окна, которое создавали ранее для добавления новых записей в базу. Ключевое отличие заключается в бизнес процессе, который должен запускаться при открытии окна.
Его задача является практически зеркальным отражением того, что делалось ранее при создании записи о новом городе. Необходимо взять ID города из глобальной переменной, получить информацию из базы и распределить ее по соответствующим полям ввода.
Редактирование записи
После этого остается лишь настроить кнопку Save, создав для нее бизнес-процесс аналогичный тому, который использовался для создания нового города. Единственными отличиями является использование ID из глобальной переменной и тип запроса PATCH вместо POST.
Готово! Теперь при нажатии на кнопку редактирования можно открыть подробную информацию о нужной записи из базы, изменить любое поле и сохранить полученные изменения.
Использование глобальных переменных позволило нам сохранить информацию о том, какая запись должна редактироваться в данный момент, записать ее ID и обращаться к нему при необходимости. При этом благодаря глобальным переменным скорость работы приложения увеличивается, ведь иначе пришлось бы сохранять эти данные в базе и делать дополнительные запросы к ней.