Skip to content
Snippets Groups Projects

Resolve #3386957 "Move language suggestion rebase"

Files
5
@@ -122,45 +122,32 @@
}
// Show the language suggestion box. Make sure user hasn't dismissed in the past or dismiss hasn't expired yet.
if (
show_suggestion &&
message &&
(dismissed <= timestamp || dismissed === undefined)
) {
layoutContainer.append(
`<div id="language-suggestion" class="ls-wrapper"><div class="ls-message">${message}</div><div class="ls-goto"><a href="#" id="ls-continue">${
continue_link !== undefined ? continue_link : Drupal.t('Continue')
}</a></div><div class="ls-dismiss"><a href="#" id="ls-dismiss">${Drupal.t(
'Dismiss',
)}</a></div></div></div>`,
);
layoutContainer
.find('#language-suggestion')
.delay(settings.show_delay * 1000)
.show('slow');
}
if (show_suggestion && message && (dismissed <= timestamp || dismissed === undefined)) {
// Call the function to get the rendered HTML
$.get('/language-suggestion/get-suggestion-box', { message: message, continue_link: continue_link, dismiss_link: Drupal.t('Dismiss') }, function(html) {
layoutContainer.prepend(html);
layoutContainer.find('.js-language-suggestion').delay(settings.show_delay * 1000).show('slow');
// Continue to the language suggested and make sure we add to auto redirect cookie if such option is enabled in the module settings.
layoutContainer.find('#ls-continue').on('click', function (e) {
const redirect = getRedirectUrl(url, custom_url, default_url);
if (settings.always_redirect) {
cookies.set(`${settings.cookie_prefix}.always_redirect`, redirect);
cookies.set(`${settings.cookie_prefix}.redirect_lang`, lang_code);
}
window.location.href = redirect;
e.disableDefault();
});
// Continue to the language suggested and make sure we add to autoredirect cookie if such option is enabled in the module settings.
layoutContainer.find('.js-ls-continue').on('click', function(e) {
const redirect = getRedirectUrl(url, custom_url, default_url);
if (settings.always_redirect) {
cookies.set(`${settings.cookie_prefix}.always_redirect`, redirect);
cookies.set(`${settings.cookie_prefix}.redirect_lang`, lang_code);
}
window.location.href = redirect;
e.disableDefault();
});
// Dismiss language suggestion box and make sure we keep it dismissed for some time. Time can be configured in the module settings.
layoutContainer.find('#ls-dismiss').on('click', function (e) {
layoutContainer.find('#language-suggestion').hide('slow');
const milliseconds = settings.cookie_dismiss_time * 60 * 60 * 1000;
cookies.set(
`${settings.cookie_prefix}.dismiss`,
timestamp + milliseconds,
);
e.disableDefault();
});
// Dismiss language suggestion box and make sure we keep it dismissed for some time. Time can be configured in the module settings.
layoutContainer.find('.js-ls-dismiss').on('click', function(e) {
layoutContainer.find('.js-language-suggestion').hide('slow');
var milliseconds = settings.cookie_dismiss_time * 60 * 60 *1000;
cookies.set(settings.cookie_prefix + '.dismiss', timestamp + milliseconds);
e.disableDefault();
});
});
}
}
function getRedirectUrl(type, custom_url, default_url) {
Loading