Добрый день.

Интересует следующий вопрос, по сути он является продолжением вот этой задачи: https://community.terrasoft.ru/forum/topic/20879

После получения ответа от нашего сервиса внутри метода onDataLoaded нужно в случае, если в ответе получено сообщения об ошибке удалить фотографию из галереи. Известен id фото. Собственно, вопрос - как вызвать удаление фото по его id? Я знаю, что есть метод deleteImage, но его из метода он внутри метода onDataLoaded почему-то не вызвать.

Редакция real-estate 7.7

Спасибо.

Нравится

2 комментария

Добрый день, Денис!
Методы deleteImage и onDataLoaded находятся в разных viewModel’ях, поэтому deleteImage нельзя вызвать из onDataLoaded.
Есть несколько вариантов решения проблемы:
1) Сделать запрос на удаление картинки в перегруженном методе onDataLoaded (запрос аналогичный как в методе deleteImage).
2) В GalleryImageViewModel сделать подписку на свое сообщение, которое будет выполнять метод deleteImage. А в GalleryDetail публиковать это сообщение.

Валерий, спасибо за ответ!

Я в итоге воспользовался третьим вариантом: по id ищу нужный элемент в DOM и инициирую через JS событие клика по кнопке удаления картинки. В итоге картинка удаляется.

Показать все комментарии

Добрый день. Редакция real-estate 7.7
Интересует следующий момент - можно ли каким нибудь образом на стороне клиента подписаться на события добавления/удаления фотографий?

Цель нашей работы следующая: требуется, что бы фото, которые прикреплены к объектам были видны из сети интернет безо всякой авторизации + для интернет аудитории требуется наложение watermark. Соответственно идея в том, что после того, как фото загружалось / удалялось штатным механизмом запускать свой сервис, который будет например выдирать фото из БД и копировать их к примеру на удаленное хранилище.

Коллеги, возможно кто то сталкивался с подобными задачами, просьба поделиться идеями, как это лучше реализовать.

Про вариант в Odata я знаю, но если все же это делать на стороне terrasoft?

Нравится

2 комментария

Петр, в схеме GalleryDetail есть метод onDataLoaded, который вызывается когда мы добавляем картинку в галерею.
В схеме GalleryImageViewModel есть метод onImageDeleteClick, который вызывается при клике на кнопку удаления.
В этих методах можно добавить вызов своего сервиса, который будет расшаривать картинки.

Мария, спасибо, будем пробовать!

Показать все комментарии