You are here

public function LiveWeatherController::locationList in Live Weather 8

Same name and namespace in other branches
  1. 8.2 src/Controller/LiveWeatherController.php \Drupal\live_weather\Controller\LiveWeatherController::locationList()

Constructs a list of locations.

1 string reference to 'LiveWeatherController::locationList'
live_weather.routing.yml in ./live_weather.routing.yml
live_weather.routing.yml

File

src/Controller/LiveWeatherController.php, line 61
Contains \Drupal\live_weather\Controller\LiveWeatherController.

Class

LiveWeatherController
Controller for Live weather.

Namespace

Drupal\live_weather\Controller

Code

public function locationList() {
  $rows = array();
  $location_list = $this->configFactory
    ->get('live_weather.location')
    ->get('location');
  $build['live_weather_form'] = $this->formBuilder
    ->getForm('Drupal\\live_weather\\Form\\LiveWeatherForm');
  $header = array(
    t('Woeid'),
    t('Location'),
    array(
      'data' => t('Operations'),
      'colspan' => 2,
    ),
  );
  if (!empty($location_list)) {
    foreach ($location_list as $key => $value) {
      $data['woeid'] = $key;
      $data['location'] = Html::escape($value);
      $operations = array();
      $operations['delete'] = array(
        'title' => $this
          ->t('Delete'),
        'url' => Url::fromRoute('live_weather.delete', [
          'woeid' => $key,
        ]),
      );
      $data['operations'] = array(
        'data' => array(
          '#type' => 'operations',
          '#links' => $operations,
        ),
      );
      $rows[] = $data;
    }
  }
  $build['live_weather_table'] = array(
    '#type' => 'table',
    '#header' => $header,
    '#rows' => $rows,
    '#empty' => $this
      ->t('No locations available.'),
  );
  return $build;
}