RepeaterMessageTypes->dataSource = $this->getData(); $this->RepeaterMessageTypes->dataBind(); } public function getDirectiveValues() { $type_controls = $this->RepeaterMessageTypes->findControlsByType('DirectiveBoolean'); $is_all = false; $types = array(); for ($i = 0; $i < count($type_controls); $i++) { $directive_name = $type_controls[$i]->getDirectiveName(); $directive_value = $type_controls[$i]->getDirectiveValue(); if (is_null($directive_value) || $directive_value === false) { continue; } if ($directive_name === 'All' && $directive_value === true) { $is_all = true; } $neg = $directive_name != 'All' && $directive_value === true && $is_all === true ? '!' : ''; array_push($types, "{$neg}{$directive_name}"); } return $types; } public function createTypeListElement($sender, $param) { $control = $this->getChildControl($param->Item, 'DirectiveBoolean'); if (is_object($control)) { $control->setHost($param->Item->DataItem['host']); $control->setComponentType($param->Item->DataItem['component_type']); $control->setComponentName($param->Item->DataItem['component_name']); $control->setResourceType($param->Item->DataItem['resource_type']); $control->setResourceName($param->Item->DataItem['resource_name']); $control->setDirectiveName($param->Item->DataItem['directive_name']); $control->setDirectiveValue($param->Item->DataItem['directive_value']); $control->setDefaultValue($param->Item->DataItem['default_value']); $control->setRequired($param->Item->DataItem['required']); $control->setLabel($param->Item->DataItem['label']); $control->setData($param->Item->DataItem['directive_value']); $control->setInConfig($param->Item->DataItem['in_config']); $control->setShow($param->Item->DataItem['show']); $control->setParentName($param->Item->DataItem['parent_name']); } } }