Меню навигации Salesforce Community не обновляет всю страницу - PullRequest
0 голосов
/ 10 октября 2019

У меня есть следующее требование:

В сообществе есть 3 вкладки - Домашняя страница (Тип страницы сообщества и показ одного компонента Lightning) - A (Тип страницы сообщества и показ одного компонента Lightning) -B (Напечатайте как страницу сообщества и показывая один компонент Lightning)

Теперь A и B содержат формы, такие как вводимый текст и все, поэтому на каждой из них есть кнопка сохранения. Требуется предупредить пользователя, если пользователь покидает страницу, не сохраняя форму.

Это означает, что пользователь нажимает кнопку назад / Далее / Обновить или любые другие вкладки, такие как Домой или А или В, допри нажатии на кнопку сохранения они получат сообщение с подтверждением.

Rerender.js файл с кодом ниже:

window.addEventListener("beforeunload", function (e) {
            var abc = component.get('v.isUnSavedChanges');
            if (!abc) {
                return undefined;
            }else{
                var confirmationMessage = 'UNSAVED CHANGES.';
                (e || window.event).returnValue = confirmationMessage;
                return confirmationMessage;
            }
        });, 

С кодом выше он работает, когда пользователь обновляет / вручную изменяет URLперед сохранением они получат сообщение, моя проблема в том, что когда пользователь нажимает на другие вкладки (Домой или A (Если на B) или B (Если на A), сообщение не запускается.

Дальнейшее копание я нашелчто если тип пункта меню навигации - Внешний URL (https://www/google.co.in), то он работает нормально, но при нажатии на вкладки ничего не вызывается

Я прочитал, что эти элементы меню навигации являются относительными URL,поэтому они могут не обновлять страницу: FYI, ссылка: https://help.salesforce.com/articleView?id=rss_setup_nav_menu.htm - страница сообщества - ссылки на страницу внутри вашего сообщества с использованием относительного URL. Например, /contactsupport.

Итак, на мой взгляд, есть 3 возможных решения, но для того, чтобы сделать то же самое, нужно некоторое руководство / исправление или фрагмент кода: 1. Есть ли способ узнать, когда щелкает элемент меню навигации в файле controller.js? 2. Можем ли мы изменить макет темы, чтобы показать наш собственный Навбар (так что при нажатии на navBar у нас может быть свой собственный код, например: https://trailhead.salesforce.com/en/content/learn/projects/communities_theme_layout/create_component 3. Есть ли в любом случае использование Jquery или что-то еще

Пожалуйста, помогите на этом

Спасибо, Nru

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...