|
|
@@ -376,6 +376,39 @@ $.extend(frappe, { |
|
|
|
// Start observing an element |
|
|
|
io.observe(el); |
|
|
|
}); |
|
|
|
}, |
|
|
|
show_language_picker() { |
|
|
|
if (frappe.session.user === 'Guest' && window.show_language_picker) { |
|
|
|
frappe.call("frappe.translate.get_all_languages", { |
|
|
|
with_language_name: true |
|
|
|
}).then(res => { |
|
|
|
let language_list = res.message; |
|
|
|
let language = frappe.get_cookie('preferred_language'); |
|
|
|
let language_codes = []; |
|
|
|
let language_switcher = $("#language-switcher .form-control"); |
|
|
|
language_list.forEach(language_doc => { |
|
|
|
language_codes.push(language_doc.language_code); |
|
|
|
language_switcher |
|
|
|
.append( |
|
|
|
$("<option></option>") |
|
|
|
.attr("value", language_doc.language_code) |
|
|
|
.text(language_doc.language_name) |
|
|
|
); |
|
|
|
}); |
|
|
|
$("#language-switcher").removeClass('hide'); |
|
|
|
language = language || (language_codes.includes(navigator.language) ? navigator.language : 'en'); |
|
|
|
language_switcher.val(language); |
|
|
|
document.documentElement.lang = language; |
|
|
|
language_switcher.change(() => { |
|
|
|
let lang = language_switcher.val(); |
|
|
|
frappe.call("frappe.translate.set_preferred_language_cookie", { |
|
|
|
"preferred_language": lang |
|
|
|
}).then(() => { |
|
|
|
window.location.reload(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
@@ -599,17 +632,13 @@ $(document).on("page-change", function() { |
|
|
|
|
|
|
|
|
|
|
|
frappe.ready(function() { |
|
|
|
frappe.call({ |
|
|
|
method: 'frappe.website.doctype.website_settings.website_settings.is_chat_enabled', |
|
|
|
callback: (r) => { |
|
|
|
if (r.message) { |
|
|
|
frappe.require(['/assets/js/moment-bundle.min.js', "/assets/css/frappe-chat-web.css", "/assets/frappe/js/lib/socket.io.min.js"], () => { |
|
|
|
frappe.require('/assets/js/chat.js', () => { |
|
|
|
frappe.chat.setup(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
frappe.show_language_picker(); |
|
|
|
if (window.is_chat_enabled) { |
|
|
|
frappe.require(['/assets/js/moment-bundle.min.js', "/assets/css/frappe-chat-web.css", "/assets/frappe/js/lib/socket.io.min.js"], () => { |
|
|
|
frappe.require('/assets/js/chat.js', () => { |
|
|
|
frappe.chat.setup(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
frappe.socketio.init(window.socketio_port); |
|
|
|
}); |