- Модуль: fileman
- Путь к файлу: ~/bitrix/modules/fileman/classes/general/fileman_utils.php
- Класс: CFilemanTransliterate
- Вызов: CFilemanTransliterate::InitTranslitInputs
function InitTranslitInputs(params)
{
var
bLinked = params.bLinked !== false,
translitTimeout,
fromInput = params.fromInput,
toInput = params.toInput,
prevValue = fromInput,
translit = function()
{
if (prevValue != fromInput.value)
BX.translit(fromInput.value, {
max_len : params.max_len,
change_case : params.change_case,
replace_space : params.replace_space,
replace_other : params.replace_other,
delete_repeat_replace : params.delete_repeat_replace,
use_google : params.use_google,
callback : function(result)
{
if (params.ext && params.ext)
result = result + "." + params.ext;
toInput.value = result;
prevValue = fromInput.value;
}
});
};
if (params.bLinkInputs)
{
if (!params.unlinkedTitle)
params.unlinkedTitle = '';
if (!params.linkedTitle)
params.linkedTitle = '';
var
pLink1 = BX.create("IMG", {props: {src: "/bitrix/images/1.gif", className: "bxfm-linked", title: params.linkedTitle}}),
pLink2 = BX.create("IMG", {props: {src: "/bitrix/images/1.gif", className: "bxfm-linked", title: params.linkedTitle}});
if (fromInput.nextSibling)
fromInput.parentNode.insertBefore(pLink1, fromInput.nextSibling);
else
fromInput.parentNode.appendChild(pLink1);
if (toInput.nextSibling)
toInput.parentNode.insertBefore(pLink2, toInput.nextSibling);
else
toInput.parentNode.appendChild(pLink2);
pLink1.onclick = pLink2.onclick = function()
{
pLink1.className = pLink2.className = bLinked ? "bxfm-unlinked" : "bxfm-linked";
pLink1.title = pLink2.title = bLinked ? params.unlinkedTitle : params.linkedTitle;
bLinked = !bLinked;
if (params.pLinked)
params.pLinked.value = bLinked ? "Y" : "N";
if (bLinked)
translit();
};
if (!bLinked)
{
bLinked = true;
pLink1.onclick();
}
}
fromInput.onmousedown =
fromInput.onkeydown =
fromInput.onchange = function()
{
if (bLinked)
{
if (translitTimeout)
clearTimeout(translitTimeout);
translitTimeout = setTimeout(translit, 150);
}
}
if (bLinked)
translit();
}