После получения ответа от нашего сервиса внутри метода onDataLoaded нужно в случае, если в ответе получено сообщения об ошибке удалить фотографию из галереи. Известен id фото. Собственно, вопрос - как вызвать удаление фото по его id? Я знаю, что есть метод deleteImage, но его из метода он внутри метода onDataLoaded почему-то не вызвать.
Добрый день, Денис!
Методы deleteImage и onDataLoaded находятся в разных viewModel’ях, поэтому deleteImage нельзя вызвать из onDataLoaded.
Есть несколько вариантов решения проблемы:
1) Сделать запрос на удаление картинки в перегруженном методе onDataLoaded (запрос аналогичный как в методе deleteImage).
2) В GalleryImageViewModel сделать подписку на свое сообщение, которое будет выполнять метод deleteImage. А в GalleryDetail публиковать это сообщение.
Я в итоге воспользовался третьим вариантом: по id ищу нужный элемент в DOM и инициирую через JS событие клика по кнопке удаления картинки. В итоге картинка удаляется.
Добрый день. Редакция real-estate 7.7 Интересует следующий момент - можно ли каким нибудь образом на стороне клиента подписаться на события добавления/удаления фотографий?
Цель нашей работы следующая: требуется, что бы фото, которые прикреплены к объектам были видны из сети интернет безо всякой авторизации + для интернет аудитории требуется наложение watermark. Соответственно идея в том, что после того, как фото загружалось / удалялось штатным механизмом запускать свой сервис, который будет например выдирать фото из БД и копировать их к примеру на удаленное хранилище.
Коллеги, возможно кто то сталкивался с подобными задачами, просьба поделиться идеями, как это лучше реализовать.
Про вариант в Odata я знаю, но если все же это делать на стороне terrasoft?
Петр, в схеме GalleryDetail есть метод onDataLoaded, который вызывается когда мы добавляем картинку в галерею.
В схеме GalleryImageViewModel есть метод onImageDeleteClick, который вызывается при клике на кнопку удаления.
В этих методах можно добавить вызов своего сервиса, который будет расшаривать картинки.