Всем доброго времени суток! 

В настройках профиля есть возможность отключения уведомлений во всплывающих окнах. Где программно настраиваются данные уведомления? Возможно ли отключить выборочно уведомления о старте конкретных служебных процессов?

Нравится

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

Этот механизм реализован в схеме DesktopPopupNotification, функция из которой вместе с параметрами сообщения вызывается в том месте системы, где хотим что-то сообщить. Например, в SectionMergeHelper:

/**
 * Show popup message with the merge info.
 * @param {Number} mergeRecordsCount Count of records to merge.
 */
showMergePopup: function(mergeRecordsCount) {
	var config = this.getMergePopupConfig(mergeRecordsCount);
	DesktopPopupNotification.showNotification(config);
},
 
/**
 * Returns the config of the popup notification.
 * @param {Number} mergeRecordsCount Count of records to merge.
 * @return {Object} Config of the popup notification.
 */
getMergePopupConfig: function(mergeRecordsCount) {
	var bodyTemplate = this.getMergePopupBodyTemplate();
	return {
		id: this.Terrasoft.generateGUID(),
		title: resources.localizableStrings.MergeNotificationTitleTemplate,
		body: this.Ext.String.format(bodyTemplate, mergeRecordsCount),
		icon: this.getMergePopupIconUrl(),
		onShow: this.onShowPopup,
		ignorePageVisibility: true
	};
},

Соответственно, если хотите, чтобы в одних разделах что-то показывалось, а в других — нет, нужно в ненужных переопределить логику, закомментировав вызов showNotification.

Александр, спасибо за развёрнутый ответ! В частности интересуют уведомления об успешном запуске процессов, например при опубликовании обращения или очистки кэша Redis, в схемах процессов вызов данной функции не обнаружил

Похоже на функцию _showSuccessfullyRunProcessPopup в схеме ProcessModuleUtilities.

Зверев Александр,

 Большое спасибо за помощь :3

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