class RuleConditionSetUI in Conditional Rules 8
Same name and namespace in other branches
- 7 includes/rules_conditional.ui.inc \RuleConditionSetUI
UI for rule condition set.
This UI is adapted from RulesRuleUI by swapping conditions for actions.
Hierarchy
- class \RuleConditionSetUI extends \RulesConditionContainerUI
Expanded class hierarchy of RuleConditionSetUI
1 string reference to 'RuleConditionSetUI'
- rules_conditional_rules_plugin_info in ./
rules_conditional.rules.inc - Implements hook_rules_plugin_info().
File
- includes/
rules_conditional.ui.inc, line 227 - Plugin UI implementation.
View source
class RuleConditionSetUI extends RulesConditionContainerUI {
/** @var RulesActionContainer */
protected $actions;
/** @var RuleConditionSet */
protected $set;
public function __construct(FacesExtendable $object) {
parent::__construct($object);
$this->set = $object;
/** @var RuleConditionSet $object */
$this->actions = $object
->actionContainer();
}
public function form(&$form, &$form_state, $options = array(), $iterator = NULL) {
$form_state['rules_element'] = $this->set;
$form += array(
'actions' => array(
'#weight' => -5,
'#tree' => TRUE,
),
);
$this->actions
->form($form['actions'], $form_state);
// Add condition result form.
$iterator = new RecursiveIteratorIterator($this->set
->conditions(), RecursiveIteratorIterator::SELF_FIRST);
parent::form($form, $form_state, $options, $iterator);
$form['elements']['#caption'] = t('Result conditions');
$form['negate']['#weight'] = 1;
// Hide nested elements during creation.
$form['elements']['#access'] = empty($options['init']);
$form['actions']['elements']['#access'] = empty($options['init']);
$form['help']['#markup'] = t('A rule condition set evaluates the actions first. Variables provided by the actions then can be used to evaluate the result conditions (as an "AND", i.e. evaluating to TRUE if conditions are empty).');
$form['help']['#weight'] = -5;
$form_state['redirect'] = RulesPluginUI::path($this->element
->root()->name);
if (!empty($options['button'])) {
$form['submit']['#value'] = t('Save changes');
}
}
/**
* Applies the values of the form to the rule configuration.
*/
function form_extract_values($form, &$form_state) {
// Extract action container values.
if (isset($form['actions'])) {
$this->actions
->extender('RulesActionContainerUI')
->form_extract_values($form['actions'], $form_state);
}
// Extract condition container values.
parent::form_extract_values($form, $form_state);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
RuleConditionSetUI:: |
protected | property | @var RulesActionContainer | |
RuleConditionSetUI:: |
protected | property | @var RuleConditionSet | |
RuleConditionSetUI:: |
public | function | ||
RuleConditionSetUI:: |
function | Applies the values of the form to the rule configuration. | ||
RuleConditionSetUI:: |
public | function |