You are here

class views_plugin_pager_infinite_scroll in Views Infinite Scroll 7

Same name and namespace in other branches
  1. 6 views_plugin_pager_infinite_scroll.inc \views_plugin_pager_infinite_scroll
  2. 7.2 views_plugin_pager_infinite_scroll.inc \views_plugin_pager_infinite_scroll

The plugin to handle full pager.

Hierarchy

Expanded class hierarchy of views_plugin_pager_infinite_scroll

1 string reference to 'views_plugin_pager_infinite_scroll'
views_infinite_scroll_views_plugins in ./views_infinite_scroll.views.inc
Implements hook_views_plugin().

File

./views_plugin_pager_infinite_scroll.inc, line 8

View source
class views_plugin_pager_infinite_scroll extends views_plugin_pager_full {
  function init(&$view, &$display, $options = array()) {
    parent::init($view, $display, $options);
  }
  function option_definition() {
    $options = parent::option_definition();
    $options['manual_load'] = array(
      'default' => 0,
    );
    $options['text'] = array(
      'default' => 'Show More',
      'translatable' => TRUE,
    );
    return $options;
  }

  /**
   * Provide the default form for setting options.
   */
  function options_form(&$form, &$form_state) {
    parent::options_form($form, $form_state);
    $form['manual_load'] = array(
      '#type' => 'checkbox',
      '#title' => t('Load subsequent pages manually instead of automatically'),
      '#description' => t('When checked, use a link to trigger loading of subsequent pages instead of window scroll.'),
      '#default_value' => $this->options['manual_load'],
      '#weight' => -10,
    );
    $form['text'] = array(
      '#type' => 'textfield',
      '#title' => t('Manual load label'),
      '#required' => FALSE,
      '#description' => t('Label to use on the manual link.'),
      '#default_value' => $this->options['text'],
      '#process' => array(
        'ctools_dependent_process',
      ),
      '#dependency' => array(
        'edit-pager-options-manual-load' => array(
          1,
        ),
      ),
      '#weight' => -10,
    );
  }
  function summary_title() {
    return "Infinite Scroll";
    if (!empty($this->options['offset'])) {
      return format_plural($this->options['items_per_page'], 'Infinite scroll pager, @count item, skip @skip', 'Infinite scroll pager, @count items, skip @skip', array(
        '@count' => $this->options['items_per_page'],
        '@skip' => $this->options['offset'],
      ));
    }
    return format_plural($this->options['items_per_page'], 'Infinite scroll pager, @count item', 'Infinite scroll pager, @count items', array(
      '@count' => $this->options['items_per_page'],
    ));
  }
  function render($input) {
    global $base_url;
    $content_selector = '';
    $style_options = $this->view->style_options;
    $items_selector = '';
    $img_path = $base_url . '/' . drupal_get_path('module', 'views_infinite_scroll') . '/images/ajax-loader.gif';
    switch ($this->view->plugin_name) {
      case 'default':
        $content_selector = 'div.view-content';
        $items_selector = '.views-row';
        break;
      case 'grid':
        $content_selector = 'div.view-content > table > tbody';
        $items_selector = 'tr';
        break;
      case 'list':
        if (array_key_exists('wrapper_class', $style_options) && !empty($style_options['wrapper_class'])) {
          $wrapper_class = '.' . $style_options['wrapper_class'];
        }
        else {
          $wrapper_class = '.item-list';
        }
        $content_selector = 'div.view-content>' . $wrapper_class . ' > *';
        $items_selector = '.views-row';
        break;
      case 'table':
        $content_selector = 'div.view-content > table > tbody';
        $items_selector = 'tr';
        break;
    }
    $pager_theme = views_theme_functions('views_infinite_scroll_pager', $this->view, $this->display);
    return theme($pager_theme, array(
      'tags' => $input,
      'quantity' => $this->options['items_per_page'],
      'view_name' => $this->view->name,
      'current_display' => $this->view->current_display,
      'content_selector' => $content_selector,
      'items_selector' => $items_selector,
      'img_path' => $img_path,
      'element' => $this->options['id'],
      'manual_load' => $this->options['manual_load'],
      'text' => $this->options['text'],
    ));
  }

}

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::destroy public function Destructor. 2
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::plugin_title public function Return the human readable name of the display.
views_plugin::theme_functions public function Provide a full list of possible theme templates used by this style.
views_plugin::validate public function Validate that the plugin is correct and can be saved. 3
views_plugin_pager::$current_page public property
views_plugin_pager::$total_items public property
views_plugin_pager::execute_count_query public function Execute the count query, which will be done just prior to the query itself being executed. 1
views_plugin_pager::exposed_form_submit public function
views_plugin_pager::get_current_page public function Get the current page.
views_plugin_pager::get_items_per_page public function Get how many items per page this pager will display. 1
views_plugin_pager::get_offset public function Get the page offset, or how many items to skip.
views_plugin_pager::get_pager_id public function Get the pager id, if it exists.
views_plugin_pager::get_total_items public function Get the total number of items.
views_plugin_pager::has_more_records public function Determine if there are more records available.
views_plugin_pager::options_submit public function Provide the default form form for submitting options. Overrides views_plugin::options_submit
views_plugin_pager::post_execute public function Perform any needed actions just after the query executing. 1
views_plugin_pager::pre_execute public function Perform any needed actions just prior to the query executing.
views_plugin_pager::pre_render public function Perform any needed actions just before rendering.
views_plugin_pager::set_items_per_page public function Set how many items per page this pager will display.
views_plugin_pager::set_offset public function Set the page offset, or how many items to skip.
views_plugin_pager::use_count_query public function Determine if a pager needs a count query. 2
views_plugin_pager::use_pager public function Determine if this pager actually uses a pager. 2
views_plugin_pager_full::exposed_form_alter public function Overrides views_plugin_pager::exposed_form_alter
views_plugin_pager_full::exposed_form_validate public function Overrides views_plugin_pager::exposed_form_validate
views_plugin_pager_full::get_pager_total public function
views_plugin_pager_full::items_per_page_exposed public function Overrides views_plugin_pager::items_per_page_exposed
views_plugin_pager_full::offset_exposed public function Overrides views_plugin_pager::offset_exposed
views_plugin_pager_full::options_validate public function Provide the default form form for validating options. Overrides views_plugin_pager::options_validate
views_plugin_pager_full::query public function Modify the query for paging Overrides views_plugin_pager::query
views_plugin_pager_full::set_current_page public function Set the current page. Overrides views_plugin_pager::set_current_page
views_plugin_pager_full::update_page_info public function Update global paging info. Overrides views_plugin_pager::update_page_info
views_plugin_pager_full::uses_exposed public function Overrides views_plugin_pager::uses_exposed
views_plugin_pager_infinite_scroll::init function Initialize the plugin. Overrides views_plugin_pager::init
views_plugin_pager_infinite_scroll::options_form function Provide the default form for setting options. Overrides views_plugin_pager_full::options_form
views_plugin_pager_infinite_scroll::option_definition function Information about options for all kinds of purposes will be held here. Overrides views_plugin_pager_full::option_definition
views_plugin_pager_infinite_scroll::render function Render the pager. Overrides views_plugin_pager_full::render
views_plugin_pager_infinite_scroll::summary_title function Return a string to display as the clickable title for the pager plugin. Overrides views_plugin_pager_full::summary_title