115 lines
3.4 KiB
JavaScript
115 lines
3.4 KiB
JavaScript
const init_admin_button_preview = function () {
|
|
const $ = jQuery
|
|
|
|
const execute = () => {
|
|
// Init old type flags
|
|
let old_type_flags = $("#type_flags option:selected").data('value')
|
|
|
|
let destination_languages = []
|
|
destination_languages.push($(".country-selector label").data("code-language"));
|
|
$(".country-selector li").each((key, itm) => {
|
|
destination_languages.push($(itm).data("code-language"));
|
|
})
|
|
|
|
const weglot_desination_languages = weglot_languages.available.filter(itm => {
|
|
return destination_languages.indexOf(itm.external_code) >= 0;
|
|
})
|
|
|
|
$("#weglot-css-inline").text(weglot_css.inline);
|
|
|
|
// Change dropdown
|
|
$("#is_dropdown").on("change", function(){
|
|
$(".country-selector").toggleClass("weglot-inline");
|
|
$(".country-selector").toggleClass("weglot-dropdown");
|
|
})
|
|
|
|
// Change with flags
|
|
$("#with_flags").on("change", function() {
|
|
$(".country-selector label, .country-selector li").toggleClass("weglot-flags");
|
|
});
|
|
|
|
// Change type flags
|
|
$("#type_flags").on("change", function(e) {
|
|
$(".country-selector label, .country-selector li").removeClass(`flag-${old_type_flags}`);
|
|
const new_type_flags = $(':selected', this).data('value')
|
|
$(".country-selector label, .country-selector li").addClass(`flag-${new_type_flags}`);
|
|
old_type_flags = new_type_flags;
|
|
});
|
|
|
|
const set_languages = () => {
|
|
const label_language = weglot_desination_languages.find(
|
|
(itm) => itm.external_code === $(".country-selector label").data("code-language")
|
|
);
|
|
const is_fullname = $("#is_fullname").is(":checked");
|
|
|
|
const label = is_fullname ? label_language.local : label_language.internal_code.toUpperCase();
|
|
|
|
$(".country-selector label a, .country-selector label span").text(label);
|
|
|
|
$(".country-selector li").each((key, itm) => {
|
|
const li_language = weglot_desination_languages.find(
|
|
(lang) => lang.internal_code === $(itm).data("code-language")
|
|
);
|
|
|
|
const label = is_fullname ? li_language.local : li_language.internal_code.toUpperCase();
|
|
|
|
$(itm)
|
|
.find("a")
|
|
.text(label);
|
|
})
|
|
}
|
|
|
|
// Change with name
|
|
$("#with_name").on("change", function(e) {
|
|
if (e.target.checked) {
|
|
set_languages();
|
|
} else {
|
|
$(".country-selector label a, .country-selector label span").text("");
|
|
$(".country-selector li a, .country-selector li span").each(
|
|
(key, itm) => {
|
|
$(itm).text("");
|
|
}
|
|
);
|
|
}
|
|
});
|
|
|
|
|
|
|
|
$("#is_fullname").on("change", function(e){
|
|
if ( !$("#with_name").is(":checked") ) {
|
|
return
|
|
}
|
|
|
|
if (e.target.checked) {
|
|
set_languages();
|
|
}
|
|
else {
|
|
const label_language = weglot_desination_languages.find(itm => itm.internal_code === $(".country-selector label").data("code-language"));
|
|
|
|
$(".country-selector label a, .country-selector label span").text(label_language.internal_code.toUpperCase());
|
|
$(".country-selector li").each((key, itm) => {
|
|
const language = weglot_desination_languages.find(lang => lang.internal_code === $(itm).data("code-language"));
|
|
|
|
$(itm).find("a").text(language.internal_code.toUpperCase());
|
|
$(itm).find("span").text(language.internal_code.toUpperCase());
|
|
});
|
|
}
|
|
});
|
|
|
|
$("#override_css").on("keyup", function(e) {
|
|
$("#weglot-css-inline").text(e.target.value);
|
|
})
|
|
}
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
if ($(".weglot-preview").length === 0){
|
|
return
|
|
}
|
|
|
|
execute();
|
|
})
|
|
}
|
|
|
|
export default init_admin_button_preview;
|
|
|