function views_ui_render_display_top

Render the top of the display so it can be updated during ajax operations.

2 calls to views_ui_render_display_top()
views_ui_edit_form in includes/admin.inc
Form builder callback for editing a View.
views_ui_regenerate_tab in includes/admin.inc
Regenerate the current tab for AJAX updates.

File

includes/admin.inc, line 1250

Code

function views_ui_render_display_top($view, $display_id) {
    $element['#theme_wrappers'] = array(
        'views_container',
    );
    $element['#attributes']['class'] = array(
        'views-display-top',
        'clearfix',
    );
    $element['#attributes']['id'] = array(
        'views-display-top',
    );
    // Extra actions for the display.
    $element['extra_actions'] = array(
        '#theme' => 'links__ctools_dropbutton',
        '#attributes' => array(
            'id' => 'views-display-extra-actions',
            'class' => array(
                'horizontal',
                'right',
                'links',
                'actions',
            ),
        ),
        '#links' => array(
            'edit-details' => array(
                'title' => t('edit view name/description'),
                'href' => "admin/structure/views/nojs/edit-details/{$view->name}",
                'attributes' => array(
                    'class' => array(
                        'views-ajax-link',
                    ),
                ),
            ),
            'analyze' => array(
                'title' => t('analyze view'),
                'href' => "admin/structure/views/nojs/analyze/{$view->name}/{$display_id}",
                'attributes' => array(
                    'class' => array(
                        'views-ajax-link',
                    ),
                ),
            ),
            'clone' => array(
                'title' => t('clone view'),
                'href' => "admin/structure/views/view/{$view->name}/clone",
            ),
            'export' => array(
                'title' => t('export view'),
                'href' => "admin/structure/views/view/{$view->name}/export",
            ),
            'reorder' => array(
                'title' => t('reorder displays'),
                'href' => "admin/structure/views/nojs/reorder-displays/{$view->name}/{$display_id}",
                'attributes' => array(
                    'class' => array(
                        'views-ajax-link',
                    ),
                ),
            ),
        ),
    );
    // Let other modules add additional links here.
    drupal_alter('views_ui_display_top_links', $element['extra_actions']['#links'], $view, $display_id);
    if (isset($view->type) && $view->type != t('Default')) {
        if ($view->type == t('Overridden')) {
            $element['extra_actions']['#links']['revert'] = array(
                'title' => t('revert view'),
                'href' => "admin/structure/views/view/{$view->name}/revert",
                'query' => array(
                    'destination' => "admin/structure/views/view/{$view->name}",
                ),
            );
        }
        else {
            $element['extra_actions']['#links']['delete'] = array(
                'title' => t('delete view'),
                'href' => "admin/structure/views/view/{$view->name}/delete",
            );
        }
    }
    // Determine the displays available for editing.
    if ($tabs = views_ui_edit_page_display_tabs($view, $display_id)) {
        if ($display_id) {
            $tabs[$display_id]['#active'] = TRUE;
        }
        $tabs['#prefix'] = '<h2 class="element-invisible">' . t('Secondary tabs') . '</h2><ul id = "views-display-menu-tabs" class="tabs secondary">';
        $tabs['#suffix'] = '</ul>';
        $element['tabs'] = $tabs;
    }
    // Buttons for adding a new display.
    foreach (views_fetch_plugin_names('display', NULL, array(
        $view->base_table,
    )) as $type => $label) {
        $element['add_display'][$type] = array(
            '#type' => 'submit',
            '#value' => t('Add !display', array(
                '!display' => $label,
            )),
            '#limit_validation_errors' => array(),
            '#submit' => array(
                'views_ui_edit_form_submit_add_display',
                'views_ui_edit_form_submit_delay_destination',
            ),
            '#attributes' => array(
                'class' => array(
                    'add-display',
                ),
            ),
            // Allow JavaScript to remove the 'Add ' prefix from the button label when
            // placing the button in a "Add" dropdown menu.
'#process' => array_merge(array(
                'views_ui_form_button_was_clicked',
            ), element_info_property('submit', '#process', array())),
            '#values' => array(
                t('Add !display', array(
                    '!display' => $label,
                )),
                $label,
            ),
        );
    }
    return $element;
}