106 lines
2.3 KiB
JavaScript
106 lines
2.3 KiB
JavaScript
import slugify from 'slugify'
|
||
|
||
const init_url_translate = () => {
|
||
const $ = jQuery;
|
||
|
||
const execute = () => {
|
||
let old_text = {}
|
||
|
||
const edit_weglot_post_name = function(e) {
|
||
const code = $(this).data('lang')
|
||
const post_name = slugify($(`#lang-${code}`).val(), {
|
||
lower: true,
|
||
replacement: '-'
|
||
});
|
||
|
||
$(`#text-edit-${code}`).text( post_name );
|
||
|
||
$(`#lang-${code}`).hide();
|
||
$(this).hide()
|
||
$(`.button-weglot-lang[data-lang=${code}]`).show()
|
||
|
||
$.ajax({
|
||
url: ajaxurl,
|
||
method: "POST",
|
||
data: {
|
||
action: "weglot_post_name",
|
||
lang: code,
|
||
id: $("#weglot_post_id").data('id'),
|
||
post_name: post_name
|
||
},
|
||
success: function(res) {
|
||
if(res.data && res.data.code && res.data.code === 'same_post_name'){
|
||
$(`#text-edit-${code}`).text(old_text[code]);
|
||
$(`#lang-${code}`).val('');
|
||
return
|
||
}
|
||
else if (res.data && res.data.code && res.data.code ==='not_available'){
|
||
$(`#weglot_permalink_not_available_${code}`).show();
|
||
$(`#lang-${code}`).val("");
|
||
setTimeout(() => {
|
||
$(`#weglot_permalink_not_available_${code}`).hide();
|
||
}, 5000);
|
||
}
|
||
|
||
$(`#text-edit-${code}`).text(res.data.result.slug);
|
||
}
|
||
});
|
||
}
|
||
|
||
$(".button-weglot-lang").each((key, itm) => {
|
||
$(itm).on('click', function (e) {
|
||
e.preventDefault()
|
||
|
||
const code = $(this).data('lang')
|
||
const text = $(`#text-edit-${code}`).text();
|
||
old_text[code] = text
|
||
|
||
$(`#text-edit-${code}`).text(' ');
|
||
$(`#lang-${code}`).val(text).show();
|
||
$(`.button-weglot-lang-submit[data-lang=${code}]`).show();
|
||
$(this).hide()
|
||
})
|
||
|
||
const code = $(itm).data('lang')
|
||
|
||
$(`.button-weglot-lang-submit[data-lang=${code}]`)
|
||
.on("click", edit_weglot_post_name);
|
||
})
|
||
|
||
$(".weglot_reset").each((key, itm) => {
|
||
$(itm).on("click", function(e) {
|
||
e.preventDefault();
|
||
|
||
const code = $(this).data("lang");
|
||
const custom_url = $(this).attr('href')
|
||
const id = $(this).data('id')
|
||
|
||
$.ajax({
|
||
url: ajaxurl,
|
||
method: "POST",
|
||
data: {
|
||
action: "weglot_reset_custom_url",
|
||
code_lang: code,
|
||
id: id,
|
||
custom_url: custom_url
|
||
},
|
||
success: function(res) {
|
||
$(`#text-edit-${code}`).text(
|
||
res.data.result.slug
|
||
);
|
||
}
|
||
});
|
||
|
||
});
|
||
|
||
});
|
||
};
|
||
|
||
document.addEventListener("DOMContentLoaded", () => {
|
||
execute();
|
||
});
|
||
|
||
}
|
||
|
||
export default init_url_translate
|