You are here

class RuleConditionSetUI in Conditional Rules 7

Same name and namespace in other branches
  1. 8 includes/rules_conditional.ui.inc \RuleConditionSetUI

UI for rule condition set.

This UI is adapted from RulesRuleUI by swapping conditions for actions.

Hierarchy

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

Namesort descending Modifiers Type Description Overrides
RuleConditionSetUI::$actions protected property @var RulesActionContainer
RuleConditionSetUI::$set protected property @var RuleConditionSet
RuleConditionSetUI::form public function Implements RulesPluginUIInterface::form(). Overrides RulesConditionContainerUI::form
RuleConditionSetUI::form_extract_values function Applies the values of the form to the rule configuration. Overrides RulesConditionContainerUI::form_extract_values
RuleConditionSetUI::__construct public function Provide $this->element to make the code more meaningful. Overrides RulesPluginUI::__construct
RulesContainerPluginUI::addOperations public function Gets the Add-* operations for the given element.
RulesContainerPluginUI::buildContent public function Implements RulesPluginUIInterface. Overrides RulesPluginUI::buildContent 1
RulesContainerPluginUI::operations public function Implements RulesPluginUIInterface. Overrides RulesPluginUI::operations 1
RulesPluginUI::$basePath public static property The base path determines where a Rules overview UI lives.
RulesPluginUI::$element protected property
RulesPluginUI::defaultRedirect public static function Determines the default redirect target for an edited/deleted element.
RulesPluginUI::formDefaults public static function
RulesPluginUI::form_submit public function Implements RulesPluginUIInterface. Overrides RulesPluginUIInterface::form_submit
RulesPluginUI::form_validate public function Implements RulesPluginUIInterface. Overrides RulesPluginUIInterface::form_validate 2
RulesPluginUI::getDataTypeClass public function Returns the name of class for the given data type.
RulesPluginUI::getFormStateValues public static function Returns the state values for $form, possibly only a part of the whole form.
RulesPluginUI::getOptions public static function
RulesPluginUI::getParameterForm protected function Actually generates the parameter form for the given data type.
RulesPluginUI::getTags public static function
RulesPluginUI::getVariableForm public function Returns the form for configuring the info of a single variable.
RulesPluginUI::help public function Implements RulesPluginUIInterface. Overrides RulesPluginUIInterface::help
RulesPluginUI::overviewTable public static function Deprecated by the controllers overviewTable() method.
RulesPluginUI::path public static function Generates an operation path.
RulesPluginUI::settingsForm public function Adds the configuration settings form (label, tags, description, ...). 1
RulesPluginUI::settingsFormExtractValues public function 1
RulesPluginUI::settingsFormPermissionMatrix protected function Provides a matrix permission for the component based in the existing roles.
RulesPluginUI::settingsFormSubmit public function
RulesPluginUI::settingsFormValidate public function