Your IP : 3.147.67.224


Current Path : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/security/admin/
Upload File :
Current File : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/security/admin/interface.js

var JCSecurityAdminInterface = (function () {
	var AdminInterface = function() {};

	AdminInterface.prototype.initialize = function(settings) {
		if (!!settings.addableRows) {
			for (var i = 0, len = settings.addableRows.length; i < len; ++i) {
				var info = settings.addableRows[i];
				this.initializeAddableRow(info.tableId, info.buttonId);
			}
		}
	};

	AdminInterface.prototype.initializeAddableRow = function(tableId, buttonId) {
		var addFunction = addTableRow;
		if (BX.browser.IsIE() && !BX.browser.IsIE10())
			addFunction = addTableRowIE;

		BX.bind(BX(buttonId), 'click', BX.delegate(addFunction, {tableId: tableId}));
	};

	function addTableRow() {
		var lastRow = BX(this.tableId).querySelectorAll('tr.security-addable-row');
		lastRow = lastRow[lastRow.length - 1];
		if (!lastRow)
			return;

		var newRow = BX.create('tr', {
			props: {
				className: 'security-addable-row'
			}
		});
		//styles hack
		newRow.style.cssText  = 'padding-bottom:3px;';

		function increment(full, pre, value, post) {
			return pre + (parseInt(value, 10) + 1) + post;
		}

		newRow.innerHTML = lastRow.innerHTML.replace(/((?:\[|__|xx)n)(\d+)(\]|__|xx)/ig, increment);
		lastRow.parentNode.insertBefore(newRow, lastRow.nextSibling);
	}

	function addTableRowIE() {
		var tbl = BX(this.tableId);
		var cnt = tbl.rows.length;
		var oRow = tbl.insertRow(cnt-1);
		var oCell = oRow.insertCell(0);
		var sHTML = tbl.rows[cnt-2].cells[0].innerHTML;
		oCell.style.cssText  = 'padding-bottom:3px;';

		function increment(full, pre, value, post) {
			return pre + (parseInt(value, 10) + 1) + post;
		}

		oCell.innerHTML = sHTML.replace(/((?:\[|__|xx)n)(\d+)(\]|__|xx)/ig, increment);
	}

	return AdminInterface;
}());

(function initialize() {
	function initInterface() {
		var settings = BX('security-interface-settings');
		if (!settings)
			return;

		settings = JSON.parse(settings.innerHTML);
		var securityInterface = new JCSecurityAdminInterface();
		securityInterface.initialize(settings);
	}

	BX.ready(initInterface);
})();