- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/businessvalue.php
- Класс: BitrixSaleHelpersAdminBusinessValueControl
- Вызов: BusinessValueControl::bizvalChangeValue
function bizvalChangeValue(valueElement)
{
'use strict';
var path = valueElement.name.split('[');
if (! (path.length == 6
&& path[1] == 'MAP]'
&& path[5] == 'PROVIDER_VALUE]'
&& path[4] == '=BusinessValueTable::COMMON_PERSON_TYPE_ID?>]'
)) return;
// [ 0 ][ 1 ][ 2 ][ 3 ][4][ 5 ]
// mBizVal[MAP][1CC][ZIP][2][PROVIDER_VALUE]
var keyElement = valueElement.parentNode.previousSibling.firstChild, value,
elements = document.querySelectorAll('input, select, textarea'), // TODO
i = 0, length = elements.length;
switch (valueElement.type)
{
case 'checkbox': value = valueElement.checked ? 'true' : ''; break;
default: value = valueElement.value;
}
for (; i < length; ++i)
{
var de = elements[i],
p = de.name.split('[');
if (p.length == 6
&& p[0] == path[0] && p[1] == path[1] && p[2] == path[2] && p[3] == path[3]
&& p[4] != path[4] // self exclude
&& p[5] == 'DELETE]')
{
de.setAttribute('data-default-key', keyElement.value);
de.setAttribute('data-default-value', value);
var we = de.parentNode,
v = valueElement.type == 'checkbox' ? we.previousSibling.firstChild.nextSibling.checked : we.previousSibling.firstChild.value;
if (value)
{
if (de.checked || ! v)
{
de.checked = true;
bizvalToggleDelete(de);
}
we.style.display = 'inline';
}
else
{
if (de.checked)
{
de.checked = false;
bizvalToggleDelete(de);
}
we.style.display = 'none';
}
}
}
}