You are here

function theme_service_links_drag_table in Service links 6.2

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

Theming function for build a draggable service links table.

1 theme call to theme_service_links_drag_table()
service_links_admin_services in ./service_links.admin.inc
Menu callback administration settings for services links list.

File

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

Code

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