403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/landing/ui/field/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/landing/ui/field/click_action_field.js
;(function() {
	"use strict";

	BX.namespace("BX.Landing.UI.Field");

	BX.Landing.UI.Field.ClickAction = function(options)
	{
		BX.Landing.UI.Field.BaseField.apply(this, arguments);
		BX.addClass(this.layout, "landing-ui-field-click-action");

		BX.remove(this.input);
		this.reference = options.reference;
		this.linkField = options.linkField;

		this.textField = new BX.Landing.UI.Field.Text({
			title: BX.Landing.Loc.getMessage('LANDING_BLOCK__DYNAMIC_LINK_TEXT_FIELD_LABEL'),
			textOnly: true,
			content: options.content || ''
		});

		this.actionField = new BX.Landing.UI.Field.Dropdown({
			title: BX.Landing.Loc.getMessage('LANDING_BLOCK__DYNAMIC_LINK_ACTION_FIElD_LABEL'),
			items: this.getActions(),
			onValueChange: this.onActionChange.bind(this)
		});

		this.grid = this.createGrid();
		this.textContainer = this.grid.children[0];
		this.actionContainer = this.grid.children[1];
		this.additionalContainer = this.grid.children[2];
		this.layout.appendChild(this.grid);

		this.textContainer.appendChild(this.textField.layout);
		this.actionContainer.appendChild(this.actionField.layout);

		if (BX.type.isPlainObject(options.value))
		{
			this.setValue(options.value);
		}

		this.onActionChange();
	};

	BX.Landing.UI.Field.ClickAction.prototype = {
		constructor: BX.Landing.UI.Field.ClickAction,
		__proto__: BX.Landing.UI.Field.BaseField.prototype,

		createGrid: function()
		{
			return BX.create({
				tag: "div",
				props: {className: "landing-ui-field-click-action-grid"},
				children: [
					BX.create({
						tag: "div",
						props: {className: "landing-ui-field-click-action-grid-text"}
					}),
					BX.create({
						tag: "div",
						props: {className: "landing-ui-field-click-action-grid-action"}
					}),
					BX.create({
						tag: "div",
						props: {className: "landing-ui-field-click-action-layout-additional"}
					})
				]
			})
		},

		getActions: function()
		{
			return this.reference.actions.map(function(item) {
				return {name: item.name, value: item.type};
			});
		},

		onActionChange: function()
		{
			var actionType = this.actionField.getValue();

			if (actionType === "link")
			{
				this.additionalContainer.appendChild(this.linkField.layout);
				return;
			}

			this.additionalContainer.innerHTML = "";
		},

		getValue: function()
		{
			var linkValue = this.linkField.getValue();

			if (BX.type.isPlainObject(linkValue))
			{
				delete linkValue.text;
			}

			return {
				id: this.reference.id,
				text: this.textField.getValue(),
				action: this.actionField.getValue(),
				link: linkValue
			};
		},

		setValue: function(value)
		{
			if (BX.type.isPlainObject(value))
			{
				this.textField.setValue(value.text);
				this.actionField.setValue(value.action);

				if (value.link)
				{
					// @todo refactoring
					this.linkField.setValue(value.link, true);
					this.linkField.hrefInput.makeDisplayedHrefValue();
				}

				this.onActionChange();
			}
		}
	};
})();

Youez - 2016 - github.com/yon3zu
LinuXploit