Your IP : 18.116.90.183


Current Path : /var/www/www-root/data/www.catalog.monolith-realty.ru/bitrix/js/scale/
Upload File :
Current File : /var/www/www-root/data/www.catalog.monolith-realty.ru/bitrix/js/scale/actionprocessdialog.js

/**
 * Class BX.Scale.ActionProcessDialog
 */
;(function(window) {

	if (BX.Scale.ActionProcessDialog) return;

	/**
	 * Class BX.Scale.ActionProcessDialog
	 * @constructor
	 */
	BX.Scale.ActionProcessDialog = {
		dialogWindow: null,
		contentTable: null,
		processingAction: false,
		pageRefresh: false,

		getContentObj: function()
		{
			if(this.contentTable === null)
			{
				var result = BX.create('table',{props:{className:"bx-adm-scale-action-result-table"}}),
					tr = BX.create('tr');

				tr.appendChild(BX.create('th',{html: BX.message("SCALE_PANEL_JS_ARD_NAME")}));
				tr.appendChild(BX.create('th',{html: BX.message("SCALE_PANEL_JS_ARD_RESULT")}));
				tr.appendChild(BX.create('th',{html: BX.message("SCALE_PANEL_JS_ARD_MESSAGE")}));
				result.appendChild(tr);
				this.contentTable = result;
			}

			return this.contentTable;
		},

		addActionProcess: function(actionName)
		{
			if(this.processingAction)
				return false;

			this.processingAction = true;

			var content = this.getContentObj(),
				tr = BX.create('tr');

			tr.appendChild(BX.create('td',{html: actionName}));

			var td = BX.create('td'),
				div = document.body.appendChild(document.createElement("DIV"));

			div.className = "bx-adm-scale-wait";
			div.style.marginLeft = '24px';

			td.appendChild(div);
			tr.appendChild(td);
			tr.appendChild(BX.create('td'));

			content.appendChild(tr);

			if(this.dialogWindow)
				this.dialogWindow.adjustSizeEx();

			return true;
		},

		setActionResult: function(result, message)
		{
			if(!this.processingAction)
				return false;

			if(message)
				this.addActionMessage(message, true);

			this.processingAction = false;
			var tr =  this.contentTable.lastChild;

			if(result)
				tr.children[1].innerHTML = "<td style='text-align: center;'><span style='color: green;'>OK</span></td>";
			else
				tr.children[1].innerHTML = "<td style='text-align: center;'><span style='color: red;'>"+BX.message("SCALE_PANEL_JS_ERROR")+"</span></td>";

			BX("close").disabled = false;

			return true;
		},

		addActionMessage: function(message, rewrite)
		{
			if(!this.processingAction)
				return false;

			var tr =  this.contentTable.lastChild;

			if(rewrite)
			{
				tr.children[2].innerHTML = message;
			}
			else
			{
				if(tr.children[2].innerHTML.length > 0)
					tr.children[2].innerHTML += "<br>";

				tr.children[2].innerHTML += message;
			}

			return true;
		},

		show: function()
		{
			var content = this.getContentObj();
			BX.Scale.currentActionProcessDialogContext = this;

			var btnClose = BX.CAdminDialog.btnClose;

			if(this.pageRefresh)
			{
				btnClose.action = function ()
				{
					this.parentWindow.Close();
					BX.Scale.AdminFrame.waitForPageRefreshing();
					window.location.reload(true);
				};
			}

			this.dialogWindow = new BX.CDialog({
				title: BX.message("SCALE_PANEL_JS_APD_TITLE"),
				content: content,
				resizable: false,
				height: 500,
				width: 500,
				buttons: [ btnClose ]
			});

			BX("close").disabled = true;
			this.dialogWindow.unclosable = true;
			this.dialogWindow.adjustSizeEx();
			this.dialogWindow.Show();
		}
	};

})(window);