• Модуль: highloadblock
  • Путь к файлу: ~/bitrix/modules/highloadblock/classes/general/prop_directory.php
  • Класс: CIBlockPropertyDirectory
  • Вызов: CIBlockPropertyDirectory::getDirectoryTableRow
function getDirectoryTableRow(addNew)
{
addNew = (addNew === 'row' ? 'row' : 'full');
var obSelectHLBlock = BX('hlb_directory_table_id');
if (!!obSelectHLBlock)
{
	var rowNumber = parseInt(BX('hlb_directory_row_number').value, 10);
	if (BX('IB_MAX_ROWS_COUNT'))
		rowNumber = parseInt(BX('IB_MAX_ROWS_COUNT').value, 10);
	if (isNaN(rowNumber))
		rowNumber = 0;
	var hlBlock = (-1 < obSelectHLBlock.selectedIndex ? obSelectHLBlock.options[obSelectHLBlock.selectedIndex].value : '');
	var selectHLBlockValue = hlBlock;

	if (addNew === 'full')
	{
		if (selectHLBlockValue == '-1')
		{
			getTableHead();
			BX('hlb_directory_table_tr').style.display = 'table-row';
			BX('hlb_directory_title_tr').style.display = 'table-row';
			BX('hlb_directory_table_name').style.display = 'table-row';
			BX('hlb_directory_table_name').disabled = false;

			addNew = 'row';
			rowNumber = 0;
		}
		else
		{
			BX('hlb_directory_table_name').disabled = true;
			BX('hlb_directory_title_tr').style.display = 'none';

			BX.ajax.post(
				'highloadblock_directory_ajax.php',
				{
					lang: BX.message('LANGUAGE_ID'),
					sessid: BX.bitrix_sessid(),
					hlBlock: hlBlock,
					rowNumber: rowNumber,
					getTitle: 'Y',
					IBLOCK_ID: '{$iblockID}',
					multiple: '{$multiple}'
				},
				BX.delegate(function(result) {
					BX('hlb_directory_table').innerHTML = result;
				})
			);

		}
	}
	if (addNew === 'row')
	{
		BX.ajax.loadJSON(
			'highloadblock_directory_ajax.php',
			{
				lang: BX.message('LANGUAGE_ID'),
				sessid: BX.bitrix_sessid(),
				hlBlock: hlBlock,
				rowNumber: rowNumber,
				addEmptyRow: 'Y',
				IBLOCK_ID: '{$iblockID}',
				multiple: '{$multiple}'
			},
			BX.delegate(function(result) {
				var obRow = null,
					obTable = BX('hlb_directory_table'),
					i = '',
					obCell = null,
					rowNumber = 0;

				if (!!obTable && 'object' === typeof result)
				{
					rowNumber = parseInt(BX('hlb_directory_row_number').value, 10);
					if (!!BX('IB_MAX_ROWS_COUNT'))
						rowNumber = parseInt(BX('IB_MAX_ROWS_COUNT').value, 10);
					if (isNaN(rowNumber))
						rowNumber = 0;
					obRow = obTable.insertRow(obTable.rows.length);
					obRow.id = 'hlbl_property_tr_'+rowNumber;
					for (i in result)
					{
						obCell = obRow.insertCell(-1);
						BX.adjust(obCell, { style: result[i].style, html: result[i].html });
					}
					BX('hlb_directory_row_number').value = rowNumber + 1;
					if(BX('IB_MAX_ROWS_COUNT'))
						BX('IB_MAX_ROWS_COUNT').value = rowNumber + 1;
				}
			})
		);
	}
}
}