You are here

function theme_service_links_drag_table in Service links 7.2

Same name and namespace in other branches
  1. 6.2 service_links.admin.inc \theme_service_links_drag_table()

Theming function for build a draggable service links table.

2 theme calls to theme_service_links_drag_table()
service_links_admin_services in ./service_links.admin.inc
Menu callback administration settings for services links list.
service_links_service_links_content_type_edit_form in plugins/content_types/service_links.inc
The form to add or edit a service_links as content.

File

./service_links.admin.inc, line 11
Administrative page callbacks for Service Links module.

Code

function theme_service_links_drag_table($variables) {
  $form = $variables['form'];
  $table['rows'] = array();
  foreach (element_children($form['service_links_show']) as $service_id) {
    $service = $form['service_links_show'][$service_id];
    $col = array();
    $service['name'] = array(
      '#markup' => $service['#title'],
    );
    $col[] = drupal_render($service['name']);
    $service['service'] = array(
      '#markup' => $service['#service'],
    );
    $col[] = drupal_render($service['service']);
    $service['show'] = array(
      '#type' => 'checkbox',
      '#checked' => $service['#default_value'],
      '#id' => $service['#id'],
      '#name' => $service['#name'],
    );
    $col[] = drupal_render($service['show']);
    $service['weight'] = $form['service_links_weight'][$service_id];
    $service['weight']['#attributes']['class'] = array(
      'service-weight',
    );
    $col[] = drupal_render($service['weight']);
    $table['weights'][] = $service['#weight'];
    $table['rows'][] = array(
      'data' => $col,
      'class' => array(
        'draggable',
      ),
    );
  }
  $table['header'] = array(
    t('Service Name'),
    t('Group'),
    t('Show'),
    t('Weight'),
  );
  drupal_alter('sl_servicestable', $table, $form);
  if (!empty($table['rows'])) {
    array_multisort($table['weights'], $table['rows']);
  }
  drupal_add_tabledrag('service_links', 'order', 'sibling', 'service-weight');
  $params = array(
    '#theme' => 'table',
    '#header' => $table['header'],
    '#rows' => $table['rows'],
    '#attributes' => array(
      'id' => 'service_links',
    ),
    '#empty' => t('No services available.'),
  );
  return theme('table', $params);
}