You are here

class views_plugin_style_mixitup_views in MixItUp Views 7

@file Contains the Mixitup style plugin.

Hierarchy

Expanded class hierarchy of views_plugin_style_mixitup_views

1 string reference to 'views_plugin_style_mixitup_views'
mixitup_views_views_plugins in ./mixitup_views.views.inc
Implements hook_views_plugins().

File

./views_plugin_style_mixitup_views.inc, line 7
Contains the Mixitup style plugin.

View source
class views_plugin_style_mixitup_views extends views_plugin_style {

  /**
   * Set default options.
   */
  function option_definition() {
    $options = parent::option_definition();

    // Get default options.
    $default_options = mixitup_views_default_options(TRUE);
    foreach ($default_options as $option => $default_value) {
      $options[$option] = array(
        'default' => $default_value,
      );
      if (is_int($default_value)) {
        $options[$option]['bool'] = TRUE;
      }
    }
    return $options;
  }

  /**
   * Render the given style.
   */
  function options_form(&$form, &$form_state) {
    parent::options_form($form, $form_state);

    // Add Mixitup options to views form.
    $form['mixitup'] = array(
      '#type' => 'fieldset',
      '#title' => t('MixItUp Animation settings'),
    );
    if (mixitup_views_installed()) {
      $options = $this->options;
      $form['filter_type'] = array(
        '#type' => 'select',
        '#title' => t('Type of filtering'),
        '#options' => array(
          'checkboxes' => t('Checkboxes'),
          'select' => t('Selectboxes'),
        ),
        '#default_value' => $options['filter_type'],
        '#description' => t('Select needed field type for filtering'),
      );
      $form['animation_enable'] = array(
        '#type' => 'checkbox',
        '#title' => t('Enable Animation'),
        '#default_value' => $options['animation_enable'],
        '#attributes' => array(
          'class' => array(
            'animation_enable',
          ),
        ),
      );
      $form['animation_effects'] = array(
        '#type' => 'textfield',
        '#title' => t('Effects'),
        '#description' => t('The effects for all filter operations as a space-separated string.'),
        '#default_value' => $options['animation_effects'],
      );
      $form['animation_duration'] = array(
        '#type' => 'textfield',
        '#title' => t('Duration'),
        '#description' => t('The duration of the animation in milliseconds.'),
        '#default_value' => $options['animation_duration'],
      );
      $form['animation_easing'] = array(
        '#type' => 'textfield',
        '#title' => t('Easing'),
        '#description' => t('For a full list of accepted values, check out easings.net.'),
        '#default_value' => $options['animation_easing'],
      );
      $form['animation_perspectiveDistance'] = array(
        '#type' => 'textfield',
        '#title' => t('perspectiveDistance'),
        '#description' => t('The perspective value in CSS units applied to the container during animations.'),
        '#default_value' => $options['animation_perspectiveDistance'],
      );
      $form['animation_perspectiveOrigin'] = array(
        '#type' => 'textfield',
        '#title' => t('perspectiveOrigin'),
        '#description' => t('The perspective-origin value applied to the container during animations.'),
        '#default_value' => $options['animation_perspectiveOrigin'],
      );
      $form['animation_queue'] = array(
        '#type' => 'checkbox',
        '#title' => t('Queue'),
        '#description' => t('Enable queuing for all operations received while an another operation is in progress.'),
        '#default_value' => $options['animation_queue'],
        '#attributes' => array(
          'class' => array(
            'animation_queue',
          ),
        ),
      );
      $form['animation_queueLimit'] = array(
        '#type' => 'textfield',
        '#title' => t('queueLimit'),
        '#description' => t('The maximum number of operations allowed in the queue at any time.'),
        '#default_value' => $options['animation_queueLimit'],
      );
      foreach (mixitup_views_default_options(TRUE) as $option => $default_value) {
        $form[$option]['#fieldset'] = 'mixitup';
        if ($option != 'animation_enable') {
          $selectors['.animation_enable'] = array(
            'checked' => TRUE,
          );
          if ($option == 'animation_queueLimit') {
            $selectors['.animation_queue'] = array(
              'checked' => TRUE,
            );
          }
          $form[$option]['#states'] = array(
            'visible' => $selectors,
          );
        }
      }
      $view = $form_state['view'];
      $sorts = $view
        ->get_items('sort');
      $form['mixitup_sorting_settings'] = array(
        '#type' => 'fieldset',
        '#title' => t('MixItUp Sorting settings'),
      );
      $form['use_sort'] = array(
        '#type' => 'checkbox',
        '#fieldset' => 'mixitup_sorting_settings',
        '#title' => t('Use sorting.'),
        '#description' => t('If you want to add new Sort criteria, add them under views "Sort criteria", at first.'),
        '#default_value' => $options['use_sort'],
        '#attributes' => array(
          'class' => array(
            'use_sort',
          ),
        ),
      );
      if ($sorts) {
        $form['sorts'] = array(
          '#type' => 'div',
          '#fieldset' => 'mixitup_sorting_settings',
        );
        foreach ($sorts as $id => $sort) {
          $sort_id = $sort['table'] . '_' . $sort['field'];
          $form['sorts'][$sort_id] = array(
            '#type' => 'textfield',
            '#title' => t('Label for "!f"', array(
              '!f' => $id,
            )),
            '#description' => t("If you don't want to use it, just make this field empty."),
            '#default_value' => isset($options['sorts'][$sort_id]) ? $options['sorts'][$sort_id] : '',
            '#states' => array(
              'visible' => array(
                '.use_sort' => array(
                  'checked' => TRUE,
                ),
              ),
            ),
          );
        }
      }
      $form['mixitup_vocab'] = array(
        '#type' => 'fieldset',
        '#title' => t('MixItUp Vocabulary settings'),
      );
      $form['restrict_vocab'] = array(
        '#type' => 'checkbox',
        '#fieldset' => 'mixitup_vocab',
        '#title' => t('Restrict terms to particular vocabulary.'),
        '#default_value' => $options['restrict_vocab'],
        '#attributes' => array(
          'class' => array(
            'restrict_vocab_enable',
          ),
        ),
      );
      $all_vocabs = taxonomy_vocabulary_load_multiple(FALSE);
      $vocabulary_options = array();
      foreach ($all_vocabs as $key_vid => $vocab) {
        $vocabulary_options[$key_vid] = $vocab->name;
      }
      $form['restrict_vocab_ids'] = array(
        '#type' => 'checkboxes',
        '#fieldset' => 'mixitup_vocab',
        '#title' => t('Select vocabularies'),
        '#multiple' => TRUE,
        '#options' => $vocabulary_options,
        '#default_value' => $options['restrict_vocab_ids'],
        '#states' => array(
          'visible' => array(
            '.restrict_vocab_enable' => array(
              'checked' => TRUE,
            ),
          ),
        ),
      );
    }
    else {

      // Disable Mixitup.
      $form['mixitup_disabled'] = array(
        '#markup' => t('Please, download !mixitup plugin to your
          libraries directory. For more information read !read. After that, you can use it.', array(
          '!mixitup' => l('MixItUp', 'https://github.com/patrickkunka/mixitup'),
          '!read' => l('README', 'admin/help/mixitup_views', array(
            'absolut' => TRUE,
            'attributes' => array(
              'target' => '_blank',
            ),
          )),
        )),
        '#fieldset' => 'mixitup',
      );
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
views_object::$definition public property Handler's definition.
views_object::$options public property Except for displays, options for the object will be held here. 1
views_object::altered_option_definition function Collect this handler's option definition and alter them, ready for use.
views_object::construct public function Views handlers use a special construct function. 4
views_object::export_option public function 1
views_object::export_options public function
views_object::export_option_always public function Always exports the option, regardless of the default value.
views_object::options Deprecated public function Set default options on this object. 1
views_object::set_default_options public function Set default options.
views_object::set_definition public function Let the handler know what its full definition is.
views_object::unpack_options public function Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away.
views_object::unpack_translatable public function Unpack a single option definition.
views_object::unpack_translatables public function Unpacks each handler to store translatable texts.
views_object::_set_option_defaults public function
views_plugin::$display public property The current used views display.
views_plugin::$plugin_name public property The plugin name of this plugin, for example table or full.
views_plugin::$plugin_type public property The plugin type of this plugin, for example style or query.
views_plugin::$view public property The top object of a view. Overrides views_object::$view 1
views_plugin::additional_theme_functions public function Provide a list of additional theme functions for the theme info page.
views_plugin::options_submit public function Handle any special handling on the validate form. 9
views_plugin::plugin_title public function Return the human readable name of the display.
views_plugin::summary_title public function Returns the summary of the settings in the display. 8
views_plugin::theme_functions public function Provide a full list of possible theme templates used by this style.
views_plugin_style::$row_plugin public property The row plugin, if it's initialized and the style itself supports it.
views_plugin_style::$row_tokens public property Store all available tokens row rows.
views_plugin_style::build_sort public function Called by the view builder to see if this style handler wants to interfere with the sorts. If so it should build; if it returns any non-TRUE value, normal sorting will NOT be added to the query. 1
views_plugin_style::build_sort_post public function Called by the view builder to let the style build a second set of sorts that will come after any other sorts in the view. 1
views_plugin_style::destroy public function Destructor. Overrides views_object::destroy
views_plugin_style::even_empty public function Should the output of the style plugin be rendered even if it's empty. 1
views_plugin_style::get_field public function Get a rendered field.
views_plugin_style::get_field_value public function Get the raw field value.
views_plugin_style::get_row_class public function Return the token replaced row class for the specified row.
views_plugin_style::init public function Initialize a style plugin.
views_plugin_style::options_validate public function Validate the options form. Overrides views_plugin::options_validate
views_plugin_style::pre_render public function Allow the style to do stuff before each row is rendered.
views_plugin_style::query public function Add anything to the query that we might need to. Overrides views_plugin::query 2
views_plugin_style::render public function Render the display in this style. 5
views_plugin_style::render_fields public function Render all of the fields for a given style and store them on the object.
views_plugin_style::render_grouping public function Group records as needed for rendering.
views_plugin_style::render_grouping_sets public function Render the grouping sets.
views_plugin_style::tokenize_value public function Take a value and apply token replacement logic to it.
views_plugin_style::uses_fields public function Return TRUE if this style also uses fields.
views_plugin_style::uses_row_class public function Return TRUE if this style also uses a row plugin.
views_plugin_style::uses_row_plugin public function Return TRUE if this style also uses a row plugin.
views_plugin_style::uses_tokens public function Return TRUE if this style uses tokens.
views_plugin_style::validate public function Validate that the plugin is correct and can be saved. Overrides views_plugin::validate
views_plugin_style_mixitup_views::options_form function Render the given style. Overrides views_plugin_style::options_form
views_plugin_style_mixitup_views::option_definition function Set default options. Overrides views_plugin_style::option_definition