Dictionary::getDeps

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. Dictionary
  4. getDeps
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/webform/options/dictionary.php
  • Класс: Bitrix\Crm\WebForm\Options\Dictionary
  • Вызов: Dictionary::getDeps
public function getDeps(): array
{
	$groupTypes = [];
	foreach (WebForm\Internals\FieldDepGroupTable::getDepGroupTypes() as $groupTypeId => $groupTypeName)
	{
		$groupTypes[] = ['id' => $groupTypeId, 'name' => $groupTypeName];
	}

	$stringTypes = [
		WebForm\Internals\FieldTable::TYPE_ENUM_EMAIL,
		WebForm\Internals\FieldTable::TYPE_ENUM_PHONE,
		WebForm\Internals\FieldTable::TYPE_ENUM_STRING,
		WebForm\Internals\FieldTable::TYPE_ENUM_TEXT,
		WebForm\Internals\FieldTable::TYPE_ENUM_TYPED_STRING,
		'name',
		'last-name',
		'second-name',
		'company-name',
	];

	$numberTypes = [
		WebForm\Internals\FieldTable::TYPE_ENUM_FLOAT,
		WebForm\Internals\FieldTable::TYPE_ENUM_INT,
		WebForm\Internals\FieldTable::TYPE_ENUM_MONEY,
	];

	return [
		'group' => [
			'types' => $groupTypes
		],
		'field' => [
			'types' => [],
			'disallowed' => [
				WebForm\Internals\FieldTable::TYPE_ENUM_BR,
				WebForm\Internals\FieldTable::TYPE_ENUM_HR,
				WebForm\Internals\FieldTable::TYPE_ENUM_RESOURCEBOOKING,
				WebForm\Internals\FieldTable::TYPE_ENUM_PAGE,
			],
		],
		'condition' => [
			'events' => [
				['id' => 'change', 'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_EVENT_CHANGE')],
			],
			'operations' => [
				[
					'id' => '=',
					'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_OP_EQUAL'),
					'fieldTypes' => [],
					'excludeFieldTypes' => [
						WebForm\Internals\FieldTable::TYPE_ENUM_BOOL
					],
				],
				[
					'id' => '!=',
					'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_OP_NOTEQUAL'),
					'fieldTypes' => [],
					'excludeFieldTypes' => [
						WebForm\Internals\FieldTable::TYPE_ENUM_BOOL
					],
				],
				[
					'id' => '>',
					'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_OP_GREATER'),
					'fieldTypes' => $numberTypes,
				],
				[
					'id' => '>=',
					'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_OP_GREATEROREQUAL'),
					'fieldTypes' => $numberTypes,
				],
				[
					'id' => '<',
					'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_OP_LESS'),
					'fieldTypes' => $numberTypes,
				],
				[
					'id' => '<=',
					'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_OP_LESSOREQUAL'),
					'fieldTypes' => $numberTypes,
				],
				[
					'id' => 'empty',
					'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_OP_EMPTY1'),
					'fieldTypes' => [],
				],
				[
					'id' => 'any',
					'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_OP_ANY1'),
					'fieldTypes' => [],
				],
				[
					'id' => 'contain',
					'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_OP_CONTAIN'),
					'fieldTypes' => $stringTypes,
				],
				[
					'id' => '!contain',
					'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_OP_NOTCONTAIN'),
					'fieldTypes' => $stringTypes,
				],
			],
		],

		'action' => [
			'types' => [
				['id' => 'show', 'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_ACTION_SHOW')],
				['id' => 'hide', 'name' => Loc::getMessage('CRM_WEBFORM_OPTIONS_DICT_COND_ACTION_HIDE')],
			]
		]
	];
}

Добавить комментарий